/*
 * Copyright (c) 2025, NVIDIA CORPORATION.  All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/*
 * NOTE: This code is auto-generated by generate_nvml_stubs.py
 * DO NOT EDIT MANUALLY
 */


#pragma GCC diagnostic ignored "-Wunused-function"
// clang-format off
#include <InjectionArgument.h>
#include "NvmlLogging.h"
#include <limits.h>
#include <cstring>


// The following snippet is generated from write_injection_argument_cpp
namespace
{

// The following snippet is generated from write_struct_compare_declare
int nvmlPciInfoExt_tCompare(const nvmlPciInfoExt_t &a, const nvmlPciInfoExt_t &b);
int nvmlPciInfo_tCompare(const nvmlPciInfo_t &a, const nvmlPciInfo_t &b);
int nvmlEccErrorCounts_tCompare(const nvmlEccErrorCounts_t &a, const nvmlEccErrorCounts_t &b);
int nvmlUtilization_tCompare(const nvmlUtilization_t &a, const nvmlUtilization_t &b);
int nvmlMemory_tCompare(const nvmlMemory_t &a, const nvmlMemory_t &b);
int nvmlMemory_v2_tCompare(const nvmlMemory_v2_t &a, const nvmlMemory_v2_t &b);
int nvmlBAR1Memory_tCompare(const nvmlBAR1Memory_t &a, const nvmlBAR1Memory_t &b);
int nvmlProcessInfo_v1_tCompare(const nvmlProcessInfo_v1_t &a, const nvmlProcessInfo_v1_t &b);
int nvmlProcessInfo_tCompare(const nvmlProcessInfo_t &a, const nvmlProcessInfo_t &b);
int nvmlProcessDetail_v1_tCompare(const nvmlProcessDetail_v1_t &a, const nvmlProcessDetail_v1_t &b);
int nvmlProcessDetailList_tCompare(const nvmlProcessDetailList_t &a, const nvmlProcessDetailList_t &b);
int nvmlDeviceAttributes_tCompare(const nvmlDeviceAttributes_t &a, const nvmlDeviceAttributes_t &b);
int nvmlC2cModeInfo_v1_tCompare(const nvmlC2cModeInfo_v1_t &a, const nvmlC2cModeInfo_v1_t &b);
int nvmlRowRemapperHistogramValues_tCompare(const nvmlRowRemapperHistogramValues_t &a, const nvmlRowRemapperHistogramValues_t &b);
int nvmlNvLinkUtilizationControl_tCompare(const nvmlNvLinkUtilizationControl_t &a, const nvmlNvLinkUtilizationControl_t &b);
int nvmlBridgeChipInfo_tCompare(const nvmlBridgeChipInfo_t &a, const nvmlBridgeChipInfo_t &b);
int nvmlBridgeChipHierarchy_tCompare(const nvmlBridgeChipHierarchy_t &a, const nvmlBridgeChipHierarchy_t &b);
int nvmlSample_tCompare(const nvmlSample_t &a, const nvmlSample_t &b);
int nvmlViolationTime_tCompare(const nvmlViolationTime_t &a, const nvmlViolationTime_t &b);
int nvmlCoolerInfo_tCompare(const nvmlCoolerInfo_t &a, const nvmlCoolerInfo_t &b);
int nvmlMarginTemperature_tCompare(const nvmlMarginTemperature_t &a, const nvmlMarginTemperature_t &b);
int nvmlClkMonFaultInfo_tCompare(const nvmlClkMonFaultInfo_t &a, const nvmlClkMonFaultInfo_t &b);
int nvmlClkMonStatus_tCompare(const nvmlClkMonStatus_t &a, const nvmlClkMonStatus_t &b);
int nvmlClockOffset_tCompare(const nvmlClockOffset_t &a, const nvmlClockOffset_t &b);
int nvmlFanSpeedInfo_tCompare(const nvmlFanSpeedInfo_t &a, const nvmlFanSpeedInfo_t &b);
int nvmlDevicePerfModes_tCompare(const nvmlDevicePerfModes_t &a, const nvmlDevicePerfModes_t &b);
int nvmlDeviceCurrentClockFreqs_tCompare(const nvmlDeviceCurrentClockFreqs_t &a, const nvmlDeviceCurrentClockFreqs_t &b);
int nvmlProcessUtilizationSample_tCompare(const nvmlProcessUtilizationSample_t &a, const nvmlProcessUtilizationSample_t &b);
int nvmlProcessUtilizationInfo_v1_tCompare(const nvmlProcessUtilizationInfo_v1_t &a, const nvmlProcessUtilizationInfo_v1_t &b);
int nvmlProcessesUtilizationInfo_tCompare(const nvmlProcessesUtilizationInfo_t &a, const nvmlProcessesUtilizationInfo_t &b);
int nvmlEccSramErrorStatus_tCompare(const nvmlEccSramErrorStatus_t &a, const nvmlEccSramErrorStatus_t &b);
int nvmlPlatformInfo_v1_tCompare(const nvmlPlatformInfo_v1_t &a, const nvmlPlatformInfo_v1_t &b);
int nvmlPlatformInfo_tCompare(const nvmlPlatformInfo_t &a, const nvmlPlatformInfo_t &b);
int nvmlPowerValue_v2_tCompare(const nvmlPowerValue_v2_t &a, const nvmlPowerValue_v2_t &b);
int nvmlVgpuHeterogeneousMode_tCompare(const nvmlVgpuHeterogeneousMode_t &a, const nvmlVgpuHeterogeneousMode_t &b);
int nvmlVgpuPlacementId_tCompare(const nvmlVgpuPlacementId_t &a, const nvmlVgpuPlacementId_t &b);
int nvmlVgpuPlacementList_v1_tCompare(const nvmlVgpuPlacementList_v1_t &a, const nvmlVgpuPlacementList_v1_t &b);
int nvmlVgpuPlacementList_tCompare(const nvmlVgpuPlacementList_t &a, const nvmlVgpuPlacementList_t &b);
int nvmlVgpuTypeBar1Info_tCompare(const nvmlVgpuTypeBar1Info_t &a, const nvmlVgpuTypeBar1Info_t &b);
int nvmlVgpuInstanceUtilizationSample_tCompare(const nvmlVgpuInstanceUtilizationSample_t &a, const nvmlVgpuInstanceUtilizationSample_t &b);
int nvmlVgpuInstanceUtilizationInfo_v1_tCompare(const nvmlVgpuInstanceUtilizationInfo_v1_t &a, const nvmlVgpuInstanceUtilizationInfo_v1_t &b);
int nvmlVgpuInstancesUtilizationInfo_tCompare(const nvmlVgpuInstancesUtilizationInfo_t &a, const nvmlVgpuInstancesUtilizationInfo_t &b);
int nvmlVgpuProcessUtilizationSample_tCompare(const nvmlVgpuProcessUtilizationSample_t &a, const nvmlVgpuProcessUtilizationSample_t &b);
int nvmlVgpuProcessUtilizationInfo_v1_tCompare(const nvmlVgpuProcessUtilizationInfo_v1_t &a, const nvmlVgpuProcessUtilizationInfo_v1_t &b);
int nvmlVgpuProcessesUtilizationInfo_tCompare(const nvmlVgpuProcessesUtilizationInfo_t &a, const nvmlVgpuProcessesUtilizationInfo_t &b);
int nvmlVgpuRuntimeState_tCompare(const nvmlVgpuRuntimeState_t &a, const nvmlVgpuRuntimeState_t &b);
int nvmlVgpuSchedulerLogEntry_tCompare(const nvmlVgpuSchedulerLogEntry_t &a, const nvmlVgpuSchedulerLogEntry_t &b);
int nvmlVgpuSchedulerLog_tCompare(const nvmlVgpuSchedulerLog_t &a, const nvmlVgpuSchedulerLog_t &b);
int nvmlVgpuSchedulerGetState_tCompare(const nvmlVgpuSchedulerGetState_t &a, const nvmlVgpuSchedulerGetState_t &b);
int nvmlVgpuSchedulerSetState_tCompare(const nvmlVgpuSchedulerSetState_t &a, const nvmlVgpuSchedulerSetState_t &b);
int nvmlVgpuSchedulerCapabilities_tCompare(const nvmlVgpuSchedulerCapabilities_t &a, const nvmlVgpuSchedulerCapabilities_t &b);
int nvmlVgpuLicenseExpiry_tCompare(const nvmlVgpuLicenseExpiry_t &a, const nvmlVgpuLicenseExpiry_t &b);
int nvmlVgpuLicenseInfo_tCompare(const nvmlVgpuLicenseInfo_t &a, const nvmlVgpuLicenseInfo_t &b);
int nvmlGridLicenseExpiry_tCompare(const nvmlGridLicenseExpiry_t &a, const nvmlGridLicenseExpiry_t &b);
int nvmlGridLicensableFeature_tCompare(const nvmlGridLicensableFeature_t &a, const nvmlGridLicensableFeature_t &b);
int nvmlGridLicensableFeatures_tCompare(const nvmlGridLicensableFeatures_t &a, const nvmlGridLicensableFeatures_t &b);
int nvmlNvLinkPowerThres_tCompare(const nvmlNvLinkPowerThres_t &a, const nvmlNvLinkPowerThres_t &b);
int nvmlFieldValue_tCompare(const nvmlFieldValue_t &a, const nvmlFieldValue_t &b);
int nvmlHwbcEntry_tCompare(const nvmlHwbcEntry_t &a, const nvmlHwbcEntry_t &b);
int nvmlLedState_tCompare(const nvmlLedState_t &a, const nvmlLedState_t &b);
int nvmlUnitInfo_tCompare(const nvmlUnitInfo_t &a, const nvmlUnitInfo_t &b);
int nvmlPSUInfo_tCompare(const nvmlPSUInfo_t &a, const nvmlPSUInfo_t &b);
int nvmlUnitFanInfo_tCompare(const nvmlUnitFanInfo_t &a, const nvmlUnitFanInfo_t &b);
int nvmlUnitFanSpeeds_tCompare(const nvmlUnitFanSpeeds_t &a, const nvmlUnitFanSpeeds_t &b);
int nvmlEventData_tCompare(const nvmlEventData_t &a, const nvmlEventData_t &b);
int nvmlAccountingStats_tCompare(const nvmlAccountingStats_t &a, const nvmlAccountingStats_t &b);
int nvmlEncoderSessionInfo_tCompare(const nvmlEncoderSessionInfo_t &a, const nvmlEncoderSessionInfo_t &b);
int nvmlFBCStats_tCompare(const nvmlFBCStats_t &a, const nvmlFBCStats_t &b);
int nvmlFBCSessionInfo_tCompare(const nvmlFBCSessionInfo_t &a, const nvmlFBCSessionInfo_t &b);
int nvmlConfComputeSystemCaps_tCompare(const nvmlConfComputeSystemCaps_t &a, const nvmlConfComputeSystemCaps_t &b);
int nvmlConfComputeSystemState_tCompare(const nvmlConfComputeSystemState_t &a, const nvmlConfComputeSystemState_t &b);
int nvmlSystemConfComputeSettings_tCompare(const nvmlSystemConfComputeSettings_t &a, const nvmlSystemConfComputeSettings_t &b);
int nvmlConfComputeMemSizeInfo_tCompare(const nvmlConfComputeMemSizeInfo_t &a, const nvmlConfComputeMemSizeInfo_t &b);
int nvmlConfComputeGpuCertificate_tCompare(const nvmlConfComputeGpuCertificate_t &a, const nvmlConfComputeGpuCertificate_t &b);
int nvmlConfComputeGpuAttestationReport_tCompare(const nvmlConfComputeGpuAttestationReport_t &a, const nvmlConfComputeGpuAttestationReport_t &b);
int nvmlConfComputeSetKeyRotationThresholdInfo_v1_tCompare(const nvmlConfComputeSetKeyRotationThresholdInfo_v1_t &a, const nvmlConfComputeSetKeyRotationThresholdInfo_v1_t &b);
int nvmlConfComputeGetKeyRotationThresholdInfo_v1_tCompare(const nvmlConfComputeGetKeyRotationThresholdInfo_v1_t &a, const nvmlConfComputeGetKeyRotationThresholdInfo_v1_t &b);
int nvmlGpuFabricInfo_tCompare(const nvmlGpuFabricInfo_t &a, const nvmlGpuFabricInfo_t &b);
int nvmlGpuFabricInfoV_tCompare(const nvmlGpuFabricInfoV_t &a, const nvmlGpuFabricInfoV_t &b);
int nvmlSystemDriverBranchInfo_tCompare(const nvmlSystemDriverBranchInfo_t &a, const nvmlSystemDriverBranchInfo_t &b);
int nvmlTemperature_tCompare(const nvmlTemperature_t &a, const nvmlTemperature_t &b);
int nvmlVgpuVersion_tCompare(const nvmlVgpuVersion_t &a, const nvmlVgpuVersion_t &b);
int nvmlVgpuMetadata_tCompare(const nvmlVgpuMetadata_t &a, const nvmlVgpuMetadata_t &b);
int nvmlVgpuPgpuMetadata_tCompare(const nvmlVgpuPgpuMetadata_t &a, const nvmlVgpuPgpuMetadata_t &b);
int nvmlVgpuPgpuCompatibility_tCompare(const nvmlVgpuPgpuCompatibility_t &a, const nvmlVgpuPgpuCompatibility_t &b);
int nvmlExcludedDeviceInfo_tCompare(const nvmlExcludedDeviceInfo_t &a, const nvmlExcludedDeviceInfo_t &b);
int nvmlGpuInstancePlacement_tCompare(const nvmlGpuInstancePlacement_t &a, const nvmlGpuInstancePlacement_t &b);
int nvmlGpuInstanceProfileInfo_tCompare(const nvmlGpuInstanceProfileInfo_t &a, const nvmlGpuInstanceProfileInfo_t &b);
int nvmlGpuInstanceProfileInfo_v2_tCompare(const nvmlGpuInstanceProfileInfo_v2_t &a, const nvmlGpuInstanceProfileInfo_v2_t &b);
int nvmlGpuInstanceProfileInfo_v3_tCompare(const nvmlGpuInstanceProfileInfo_v3_t &a, const nvmlGpuInstanceProfileInfo_v3_t &b);
int nvmlGpuInstanceInfo_tCompare(const nvmlGpuInstanceInfo_t &a, const nvmlGpuInstanceInfo_t &b);
int nvmlComputeInstancePlacement_tCompare(const nvmlComputeInstancePlacement_t &a, const nvmlComputeInstancePlacement_t &b);
int nvmlComputeInstanceProfileInfo_tCompare(const nvmlComputeInstanceProfileInfo_t &a, const nvmlComputeInstanceProfileInfo_t &b);
int nvmlComputeInstanceProfileInfo_v2_tCompare(const nvmlComputeInstanceProfileInfo_v2_t &a, const nvmlComputeInstanceProfileInfo_v2_t &b);
int nvmlComputeInstanceProfileInfo_v3_tCompare(const nvmlComputeInstanceProfileInfo_v3_t &a, const nvmlComputeInstanceProfileInfo_v3_t &b);
int nvmlComputeInstanceInfo_tCompare(const nvmlComputeInstanceInfo_t &a, const nvmlComputeInstanceInfo_t &b);
int nvmlGpmSupport_tCompare(const nvmlGpmSupport_t &a, const nvmlGpmSupport_t &b);
int nvmlDeviceCapabilities_tCompare(const nvmlDeviceCapabilities_t &a, const nvmlDeviceCapabilities_t &b);
int nvmlMask255_tCompare(const nvmlMask255_t &a, const nvmlMask255_t &b);
int nvmlWorkloadPowerProfileInfo_tCompare(const nvmlWorkloadPowerProfileInfo_t &a, const nvmlWorkloadPowerProfileInfo_t &b);
int nvmlWorkloadPowerProfileProfilesInfo_tCompare(const nvmlWorkloadPowerProfileProfilesInfo_t &a, const nvmlWorkloadPowerProfileProfilesInfo_t &b);
int nvmlWorkloadPowerProfileCurrentProfiles_tCompare(const nvmlWorkloadPowerProfileCurrentProfiles_t &a, const nvmlWorkloadPowerProfileCurrentProfiles_t &b);
int nvmlWorkloadPowerProfileRequestedProfiles_tCompare(const nvmlWorkloadPowerProfileRequestedProfiles_t &a, const nvmlWorkloadPowerProfileRequestedProfiles_t &b);

// The following snippet is generated from write_struct_compare_definition
int nvmlPciInfoExt_tCompare(const nvmlPciInfoExt_t &a, const nvmlPciInfoExt_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.domain != b.domain)
    {
        return a.domain < b.domain ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.bus != b.bus)
    {
        return a.bus < b.bus ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.device != b.device)
    {
        return a.device < b.device ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.pciDeviceId != b.pciDeviceId)
    {
        return a.pciDeviceId < b.pciDeviceId ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.pciSubSystemId != b.pciSubSystemId)
    {
        return a.pciSubSystemId < b.pciSubSystemId ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.baseClass != b.baseClass)
    {
        return a.baseClass < b.baseClass ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.subClass != b.subClass)
    {
        return a.subClass < b.subClass ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.busId, b.busId); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlPciInfo_tCompare(const nvmlPciInfo_t &a, const nvmlPciInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.busIdLegacy, b.busIdLegacy); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.domain != b.domain)
    {
        return a.domain < b.domain ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.bus != b.bus)
    {
        return a.bus < b.bus ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.device != b.device)
    {
        return a.device < b.device ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.pciDeviceId != b.pciDeviceId)
    {
        return a.pciDeviceId < b.pciDeviceId ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.pciSubSystemId != b.pciSubSystemId)
    {
        return a.pciSubSystemId < b.pciSubSystemId ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.busId, b.busId); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlEccErrorCounts_tCompare(const nvmlEccErrorCounts_t &a, const nvmlEccErrorCounts_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.l1Cache != b.l1Cache)
    {
        return a.l1Cache < b.l1Cache ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.l2Cache != b.l2Cache)
    {
        return a.l2Cache < b.l2Cache ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.deviceMemory != b.deviceMemory)
    {
        return a.deviceMemory < b.deviceMemory ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.registerFile != b.registerFile)
    {
        return a.registerFile < b.registerFile ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlUtilization_tCompare(const nvmlUtilization_t &a, const nvmlUtilization_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.gpu != b.gpu)
    {
        return a.gpu < b.gpu ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.memory != b.memory)
    {
        return a.memory < b.memory ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlMemory_tCompare(const nvmlMemory_t &a, const nvmlMemory_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.total != b.total)
    {
        return a.total < b.total ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.free != b.free)
    {
        return a.free < b.free ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.used != b.used)
    {
        return a.used < b.used ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlMemory_v2_tCompare(const nvmlMemory_v2_t &a, const nvmlMemory_v2_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.total != b.total)
    {
        return a.total < b.total ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.reserved != b.reserved)
    {
        return a.reserved < b.reserved ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.free != b.free)
    {
        return a.free < b.free ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.used != b.used)
    {
        return a.used < b.used ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlBAR1Memory_tCompare(const nvmlBAR1Memory_t &a, const nvmlBAR1Memory_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.bar1Total != b.bar1Total)
    {
        return a.bar1Total < b.bar1Total ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.bar1Free != b.bar1Free)
    {
        return a.bar1Free < b.bar1Free ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.bar1Used != b.bar1Used)
    {
        return a.bar1Used < b.bar1Used ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlProcessInfo_v1_tCompare(const nvmlProcessInfo_v1_t &a, const nvmlProcessInfo_v1_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.pid != b.pid)
    {
        return a.pid < b.pid ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.usedGpuMemory != b.usedGpuMemory)
    {
        return a.usedGpuMemory < b.usedGpuMemory ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlProcessInfo_tCompare(const nvmlProcessInfo_t &a, const nvmlProcessInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.pid != b.pid)
    {
        return a.pid < b.pid ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.usedGpuMemory != b.usedGpuMemory)
    {
        return a.usedGpuMemory < b.usedGpuMemory ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.gpuInstanceId != b.gpuInstanceId)
    {
        return a.gpuInstanceId < b.gpuInstanceId ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.computeInstanceId != b.computeInstanceId)
    {
        return a.computeInstanceId < b.computeInstanceId ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlProcessDetail_v1_tCompare(const nvmlProcessDetail_v1_t &a, const nvmlProcessDetail_v1_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.pid != b.pid)
    {
        return a.pid < b.pid ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.usedGpuMemory != b.usedGpuMemory)
    {
        return a.usedGpuMemory < b.usedGpuMemory ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.gpuInstanceId != b.gpuInstanceId)
    {
        return a.gpuInstanceId < b.gpuInstanceId ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.computeInstanceId != b.computeInstanceId)
    {
        return a.computeInstanceId < b.computeInstanceId ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.usedGpuCcProtectedMemory != b.usedGpuCcProtectedMemory)
    {
        return a.usedGpuCcProtectedMemory < b.usedGpuCcProtectedMemory ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlProcessDetailList_tCompare(const nvmlProcessDetailList_t &a, const nvmlProcessDetailList_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.mode != b.mode)
    {
        return a.mode < b.mode ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.numProcArrayEntries != b.numProcArrayEntries)
    {
        return a.numProcArrayEntries < b.numProcArrayEntries ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = nvmlProcessDetail_v1_tCompare(*a.procArray, *b.procArray); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlDeviceAttributes_tCompare(const nvmlDeviceAttributes_t &a, const nvmlDeviceAttributes_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.multiprocessorCount != b.multiprocessorCount)
    {
        return a.multiprocessorCount < b.multiprocessorCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sharedCopyEngineCount != b.sharedCopyEngineCount)
    {
        return a.sharedCopyEngineCount < b.sharedCopyEngineCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sharedDecoderCount != b.sharedDecoderCount)
    {
        return a.sharedDecoderCount < b.sharedDecoderCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sharedEncoderCount != b.sharedEncoderCount)
    {
        return a.sharedEncoderCount < b.sharedEncoderCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sharedJpegCount != b.sharedJpegCount)
    {
        return a.sharedJpegCount < b.sharedJpegCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sharedOfaCount != b.sharedOfaCount)
    {
        return a.sharedOfaCount < b.sharedOfaCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.gpuInstanceSliceCount != b.gpuInstanceSliceCount)
    {
        return a.gpuInstanceSliceCount < b.gpuInstanceSliceCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.computeInstanceSliceCount != b.computeInstanceSliceCount)
    {
        return a.computeInstanceSliceCount < b.computeInstanceSliceCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.memorySizeMB != b.memorySizeMB)
    {
        return a.memorySizeMB < b.memorySizeMB ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlC2cModeInfo_v1_tCompare(const nvmlC2cModeInfo_v1_t &a, const nvmlC2cModeInfo_v1_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.isC2cEnabled != b.isC2cEnabled)
    {
        return a.isC2cEnabled < b.isC2cEnabled ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlRowRemapperHistogramValues_tCompare(const nvmlRowRemapperHistogramValues_t &a, const nvmlRowRemapperHistogramValues_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.max != b.max)
    {
        return a.max < b.max ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.high != b.high)
    {
        return a.high < b.high ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.partial != b.partial)
    {
        return a.partial < b.partial ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.low != b.low)
    {
        return a.low < b.low ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.none != b.none)
    {
        return a.none < b.none ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlNvLinkUtilizationControl_tCompare(const nvmlNvLinkUtilizationControl_t &a, const nvmlNvLinkUtilizationControl_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.units != b.units)
    {
        return a.units < b.units ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.pktfilter != b.pktfilter)
    {
        return a.pktfilter < b.pktfilter ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlBridgeChipInfo_tCompare(const nvmlBridgeChipInfo_t &a, const nvmlBridgeChipInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.type != b.type)
    {
        return a.type < b.type ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.fwVersion != b.fwVersion)
    {
        return a.fwVersion < b.fwVersion ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlBridgeChipHierarchy_tCompare(const nvmlBridgeChipHierarchy_t &a, const nvmlBridgeChipHierarchy_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.bridgeCount != b.bridgeCount)
    {
        return a.bridgeCount < b.bridgeCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    for (unsigned int i = 0; i < sizeof(a.bridgeChipInfo) / sizeof(a.bridgeChipInfo[0]); ++i)
    {
        if (auto ret = nvmlBridgeChipInfo_tCompare(a.bridgeChipInfo[i], b.bridgeChipInfo[i]); ret)
        {
            return ret;
        }
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlSample_tCompare(const nvmlSample_t &a, const nvmlSample_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.timeStamp != b.timeStamp)
    {
        return a.timeStamp < b.timeStamp ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(&a.sampleValue, &b.sampleValue, sizeof(a.sampleValue)); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlViolationTime_tCompare(const nvmlViolationTime_t &a, const nvmlViolationTime_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.referenceTime != b.referenceTime)
    {
        return a.referenceTime < b.referenceTime ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.violationTime != b.violationTime)
    {
        return a.violationTime < b.violationTime ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlCoolerInfo_tCompare(const nvmlCoolerInfo_t &a, const nvmlCoolerInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.index != b.index)
    {
        return a.index < b.index ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.signalType != b.signalType)
    {
        return a.signalType < b.signalType ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.target != b.target)
    {
        return a.target < b.target ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlMarginTemperature_tCompare(const nvmlMarginTemperature_t &a, const nvmlMarginTemperature_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.marginTemperature != b.marginTemperature)
    {
        return a.marginTemperature < b.marginTemperature ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlClkMonFaultInfo_tCompare(const nvmlClkMonFaultInfo_t &a, const nvmlClkMonFaultInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.clkApiDomain != b.clkApiDomain)
    {
        return a.clkApiDomain < b.clkApiDomain ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.clkDomainFaultMask != b.clkDomainFaultMask)
    {
        return a.clkDomainFaultMask < b.clkDomainFaultMask ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlClkMonStatus_tCompare(const nvmlClkMonStatus_t &a, const nvmlClkMonStatus_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.bGlobalStatus != b.bGlobalStatus)
    {
        return a.bGlobalStatus < b.bGlobalStatus ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.clkMonListSize != b.clkMonListSize)
    {
        return a.clkMonListSize < b.clkMonListSize ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    for (unsigned int i = 0; i < sizeof(a.clkMonList) / sizeof(a.clkMonList[0]); ++i)
    {
        if (auto ret = nvmlClkMonFaultInfo_tCompare(a.clkMonList[i], b.clkMonList[i]); ret)
        {
            return ret;
        }
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlClockOffset_tCompare(const nvmlClockOffset_t &a, const nvmlClockOffset_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.type != b.type)
    {
        return a.type < b.type ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.pstate != b.pstate)
    {
        return a.pstate < b.pstate ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.clockOffsetMHz != b.clockOffsetMHz)
    {
        return a.clockOffsetMHz < b.clockOffsetMHz ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.minClockOffsetMHz != b.minClockOffsetMHz)
    {
        return a.minClockOffsetMHz < b.minClockOffsetMHz ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.maxClockOffsetMHz != b.maxClockOffsetMHz)
    {
        return a.maxClockOffsetMHz < b.maxClockOffsetMHz ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlFanSpeedInfo_tCompare(const nvmlFanSpeedInfo_t &a, const nvmlFanSpeedInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.fan != b.fan)
    {
        return a.fan < b.fan ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.speed != b.speed)
    {
        return a.speed < b.speed ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlDevicePerfModes_tCompare(const nvmlDevicePerfModes_t &a, const nvmlDevicePerfModes_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.str, b.str); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlDeviceCurrentClockFreqs_tCompare(const nvmlDeviceCurrentClockFreqs_t &a, const nvmlDeviceCurrentClockFreqs_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.str, b.str); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlProcessUtilizationSample_tCompare(const nvmlProcessUtilizationSample_t &a, const nvmlProcessUtilizationSample_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.pid != b.pid)
    {
        return a.pid < b.pid ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.timeStamp != b.timeStamp)
    {
        return a.timeStamp < b.timeStamp ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.smUtil != b.smUtil)
    {
        return a.smUtil < b.smUtil ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.memUtil != b.memUtil)
    {
        return a.memUtil < b.memUtil ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.encUtil != b.encUtil)
    {
        return a.encUtil < b.encUtil ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.decUtil != b.decUtil)
    {
        return a.decUtil < b.decUtil ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlProcessUtilizationInfo_v1_tCompare(const nvmlProcessUtilizationInfo_v1_t &a, const nvmlProcessUtilizationInfo_v1_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.timeStamp != b.timeStamp)
    {
        return a.timeStamp < b.timeStamp ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.pid != b.pid)
    {
        return a.pid < b.pid ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.smUtil != b.smUtil)
    {
        return a.smUtil < b.smUtil ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.memUtil != b.memUtil)
    {
        return a.memUtil < b.memUtil ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.encUtil != b.encUtil)
    {
        return a.encUtil < b.encUtil ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.decUtil != b.decUtil)
    {
        return a.decUtil < b.decUtil ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.jpgUtil != b.jpgUtil)
    {
        return a.jpgUtil < b.jpgUtil ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.ofaUtil != b.ofaUtil)
    {
        return a.ofaUtil < b.ofaUtil ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlProcessesUtilizationInfo_tCompare(const nvmlProcessesUtilizationInfo_t &a, const nvmlProcessesUtilizationInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.processSamplesCount != b.processSamplesCount)
    {
        return a.processSamplesCount < b.processSamplesCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.lastSeenTimeStamp != b.lastSeenTimeStamp)
    {
        return a.lastSeenTimeStamp < b.lastSeenTimeStamp ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = nvmlProcessUtilizationInfo_v1_tCompare(*a.procUtilArray, *b.procUtilArray); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlEccSramErrorStatus_tCompare(const nvmlEccSramErrorStatus_t &a, const nvmlEccSramErrorStatus_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.aggregateUncParity != b.aggregateUncParity)
    {
        return a.aggregateUncParity < b.aggregateUncParity ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.aggregateUncSecDed != b.aggregateUncSecDed)
    {
        return a.aggregateUncSecDed < b.aggregateUncSecDed ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.aggregateCor != b.aggregateCor)
    {
        return a.aggregateCor < b.aggregateCor ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.volatileUncParity != b.volatileUncParity)
    {
        return a.volatileUncParity < b.volatileUncParity ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.volatileUncSecDed != b.volatileUncSecDed)
    {
        return a.volatileUncSecDed < b.volatileUncSecDed ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.volatileCor != b.volatileCor)
    {
        return a.volatileCor < b.volatileCor ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.aggregateUncBucketL2 != b.aggregateUncBucketL2)
    {
        return a.aggregateUncBucketL2 < b.aggregateUncBucketL2 ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.aggregateUncBucketSm != b.aggregateUncBucketSm)
    {
        return a.aggregateUncBucketSm < b.aggregateUncBucketSm ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.aggregateUncBucketPcie != b.aggregateUncBucketPcie)
    {
        return a.aggregateUncBucketPcie < b.aggregateUncBucketPcie ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.aggregateUncBucketMcu != b.aggregateUncBucketMcu)
    {
        return a.aggregateUncBucketMcu < b.aggregateUncBucketMcu ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.aggregateUncBucketOther != b.aggregateUncBucketOther)
    {
        return a.aggregateUncBucketOther < b.aggregateUncBucketOther ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.bThresholdExceeded != b.bThresholdExceeded)
    {
        return a.bThresholdExceeded < b.bThresholdExceeded ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlPlatformInfo_v1_tCompare(const nvmlPlatformInfo_v1_t &a, const nvmlPlatformInfo_v1_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(a.ibGuid, b.ibGuid, sizeof(a.ibGuid)); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(a.rackGuid, b.rackGuid, sizeof(a.rackGuid)); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.chassisPhysicalSlotNumber != b.chassisPhysicalSlotNumber)
    {
        return a.chassisPhysicalSlotNumber < b.chassisPhysicalSlotNumber ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.computeSlotIndex != b.computeSlotIndex)
    {
        return a.computeSlotIndex < b.computeSlotIndex ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.nodeIndex != b.nodeIndex)
    {
        return a.nodeIndex < b.nodeIndex ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.peerType != b.peerType)
    {
        return a.peerType < b.peerType ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.moduleId != b.moduleId)
    {
        return a.moduleId < b.moduleId ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlPlatformInfo_tCompare(const nvmlPlatformInfo_t &a, const nvmlPlatformInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(a.ibGuid, b.ibGuid, sizeof(a.ibGuid)); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(a.chassisSerialNumber, b.chassisSerialNumber, sizeof(a.chassisSerialNumber)); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.slotNumber != b.slotNumber)
    {
        return a.slotNumber < b.slotNumber ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.trayIndex != b.trayIndex)
    {
        return a.trayIndex < b.trayIndex ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.hostId != b.hostId)
    {
        return a.hostId < b.hostId ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.peerType != b.peerType)
    {
        return a.peerType < b.peerType ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.moduleId != b.moduleId)
    {
        return a.moduleId < b.moduleId ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlPowerValue_v2_tCompare(const nvmlPowerValue_v2_t &a, const nvmlPowerValue_v2_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.powerScope != b.powerScope)
    {
        return a.powerScope < b.powerScope ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.powerValueMw != b.powerValueMw)
    {
        return a.powerValueMw < b.powerValueMw ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuHeterogeneousMode_tCompare(const nvmlVgpuHeterogeneousMode_t &a, const nvmlVgpuHeterogeneousMode_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.mode != b.mode)
    {
        return a.mode < b.mode ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuPlacementId_tCompare(const nvmlVgpuPlacementId_t &a, const nvmlVgpuPlacementId_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.placementId != b.placementId)
    {
        return a.placementId < b.placementId ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuPlacementList_v1_tCompare(const nvmlVgpuPlacementList_v1_t &a, const nvmlVgpuPlacementList_v1_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.placementSize != b.placementSize)
    {
        return a.placementSize < b.placementSize ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.count != b.count)
    {
        return a.count < b.count ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (*a.placementIds != *b.placementIds)
    {
        return *a.placementIds < *b.placementIds;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuPlacementList_tCompare(const nvmlVgpuPlacementList_t &a, const nvmlVgpuPlacementList_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.placementSize != b.placementSize)
    {
        return a.placementSize < b.placementSize ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.count != b.count)
    {
        return a.count < b.count ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (*a.placementIds != *b.placementIds)
    {
        return *a.placementIds < *b.placementIds;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.mode != b.mode)
    {
        return a.mode < b.mode ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuTypeBar1Info_tCompare(const nvmlVgpuTypeBar1Info_t &a, const nvmlVgpuTypeBar1Info_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.bar1Size != b.bar1Size)
    {
        return a.bar1Size < b.bar1Size ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuInstanceUtilizationSample_tCompare(const nvmlVgpuInstanceUtilizationSample_t &a, const nvmlVgpuInstanceUtilizationSample_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.vgpuInstance != b.vgpuInstance)
    {
        return a.vgpuInstance < b.vgpuInstance ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.timeStamp != b.timeStamp)
    {
        return a.timeStamp < b.timeStamp ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(&a.smUtil, &b.smUtil, sizeof(a.smUtil)); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(&a.memUtil, &b.memUtil, sizeof(a.memUtil)); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(&a.encUtil, &b.encUtil, sizeof(a.encUtil)); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(&a.decUtil, &b.decUtil, sizeof(a.decUtil)); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuInstanceUtilizationInfo_v1_tCompare(const nvmlVgpuInstanceUtilizationInfo_v1_t &a, const nvmlVgpuInstanceUtilizationInfo_v1_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.timeStamp != b.timeStamp)
    {
        return a.timeStamp < b.timeStamp ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.vgpuInstance != b.vgpuInstance)
    {
        return a.vgpuInstance < b.vgpuInstance ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(&a.smUtil, &b.smUtil, sizeof(a.smUtil)); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(&a.memUtil, &b.memUtil, sizeof(a.memUtil)); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(&a.encUtil, &b.encUtil, sizeof(a.encUtil)); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(&a.decUtil, &b.decUtil, sizeof(a.decUtil)); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(&a.jpgUtil, &b.jpgUtil, sizeof(a.jpgUtil)); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(&a.ofaUtil, &b.ofaUtil, sizeof(a.ofaUtil)); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuInstancesUtilizationInfo_tCompare(const nvmlVgpuInstancesUtilizationInfo_t &a, const nvmlVgpuInstancesUtilizationInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sampleValType != b.sampleValType)
    {
        return a.sampleValType < b.sampleValType ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.vgpuInstanceCount != b.vgpuInstanceCount)
    {
        return a.vgpuInstanceCount < b.vgpuInstanceCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.lastSeenTimeStamp != b.lastSeenTimeStamp)
    {
        return a.lastSeenTimeStamp < b.lastSeenTimeStamp ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = nvmlVgpuInstanceUtilizationInfo_v1_tCompare(*a.vgpuUtilArray, *b.vgpuUtilArray); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuProcessUtilizationSample_tCompare(const nvmlVgpuProcessUtilizationSample_t &a, const nvmlVgpuProcessUtilizationSample_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.vgpuInstance != b.vgpuInstance)
    {
        return a.vgpuInstance < b.vgpuInstance ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.pid != b.pid)
    {
        return a.pid < b.pid ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.processName, b.processName); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.timeStamp != b.timeStamp)
    {
        return a.timeStamp < b.timeStamp ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.smUtil != b.smUtil)
    {
        return a.smUtil < b.smUtil ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.memUtil != b.memUtil)
    {
        return a.memUtil < b.memUtil ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.encUtil != b.encUtil)
    {
        return a.encUtil < b.encUtil ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.decUtil != b.decUtil)
    {
        return a.decUtil < b.decUtil ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuProcessUtilizationInfo_v1_tCompare(const nvmlVgpuProcessUtilizationInfo_v1_t &a, const nvmlVgpuProcessUtilizationInfo_v1_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.processName, b.processName); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.timeStamp != b.timeStamp)
    {
        return a.timeStamp < b.timeStamp ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.vgpuInstance != b.vgpuInstance)
    {
        return a.vgpuInstance < b.vgpuInstance ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.pid != b.pid)
    {
        return a.pid < b.pid ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.smUtil != b.smUtil)
    {
        return a.smUtil < b.smUtil ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.memUtil != b.memUtil)
    {
        return a.memUtil < b.memUtil ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.encUtil != b.encUtil)
    {
        return a.encUtil < b.encUtil ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.decUtil != b.decUtil)
    {
        return a.decUtil < b.decUtil ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.jpgUtil != b.jpgUtil)
    {
        return a.jpgUtil < b.jpgUtil ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.ofaUtil != b.ofaUtil)
    {
        return a.ofaUtil < b.ofaUtil ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuProcessesUtilizationInfo_tCompare(const nvmlVgpuProcessesUtilizationInfo_t &a, const nvmlVgpuProcessesUtilizationInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.vgpuProcessCount != b.vgpuProcessCount)
    {
        return a.vgpuProcessCount < b.vgpuProcessCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.lastSeenTimeStamp != b.lastSeenTimeStamp)
    {
        return a.lastSeenTimeStamp < b.lastSeenTimeStamp ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = nvmlVgpuProcessUtilizationInfo_v1_tCompare(*a.vgpuProcUtilArray, *b.vgpuProcUtilArray); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuRuntimeState_tCompare(const nvmlVgpuRuntimeState_t &a, const nvmlVgpuRuntimeState_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.size != b.size)
    {
        return a.size < b.size ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuSchedulerLogEntry_tCompare(const nvmlVgpuSchedulerLogEntry_t &a, const nvmlVgpuSchedulerLogEntry_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.timestamp != b.timestamp)
    {
        return a.timestamp < b.timestamp ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.timeRunTotal != b.timeRunTotal)
    {
        return a.timeRunTotal < b.timeRunTotal ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.timeRun != b.timeRun)
    {
        return a.timeRun < b.timeRun ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.swRunlistId != b.swRunlistId)
    {
        return a.swRunlistId < b.swRunlistId ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.targetTimeSlice != b.targetTimeSlice)
    {
        return a.targetTimeSlice < b.targetTimeSlice ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.cumulativePreemptionTime != b.cumulativePreemptionTime)
    {
        return a.cumulativePreemptionTime < b.cumulativePreemptionTime ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuSchedulerLog_tCompare(const nvmlVgpuSchedulerLog_t &a, const nvmlVgpuSchedulerLog_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.engineId != b.engineId)
    {
        return a.engineId < b.engineId ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.schedulerPolicy != b.schedulerPolicy)
    {
        return a.schedulerPolicy < b.schedulerPolicy ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.arrMode != b.arrMode)
    {
        return a.arrMode < b.arrMode ? -1 : 1;
    }
    NVML_LOG_ERR("nvmlVgpuSchedulerParams_t conatins union, and cannot compare now. May cause problems...");
    // The following snippet is generated from write_struct_compare_definition
    if (a.entriesCount != b.entriesCount)
    {
        return a.entriesCount < b.entriesCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    for (unsigned int i = 0; i < sizeof(a.logEntries) / sizeof(a.logEntries[0]); ++i)
    {
        if (auto ret = nvmlVgpuSchedulerLogEntry_tCompare(a.logEntries[i], b.logEntries[i]); ret)
        {
            return ret;
        }
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuSchedulerGetState_tCompare(const nvmlVgpuSchedulerGetState_t &a, const nvmlVgpuSchedulerGetState_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.schedulerPolicy != b.schedulerPolicy)
    {
        return a.schedulerPolicy < b.schedulerPolicy ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.arrMode != b.arrMode)
    {
        return a.arrMode < b.arrMode ? -1 : 1;
    }
    NVML_LOG_ERR("nvmlVgpuSchedulerParams_t conatins union, and cannot compare now. May cause problems...");
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuSchedulerSetState_tCompare(const nvmlVgpuSchedulerSetState_t &a, const nvmlVgpuSchedulerSetState_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.schedulerPolicy != b.schedulerPolicy)
    {
        return a.schedulerPolicy < b.schedulerPolicy ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.enableARRMode != b.enableARRMode)
    {
        return a.enableARRMode < b.enableARRMode ? -1 : 1;
    }
    NVML_LOG_ERR("nvmlVgpuSchedulerSetParams_t conatins union, and cannot compare now. May cause problems...");
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuSchedulerCapabilities_tCompare(const nvmlVgpuSchedulerCapabilities_t &a, const nvmlVgpuSchedulerCapabilities_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    for (unsigned int i = 0; i < sizeof(a.supportedSchedulers) / sizeof(a.supportedSchedulers[0]); ++i)
    {
        if (a.supportedSchedulers[i] != b.supportedSchedulers[i])
        {
            return a.supportedSchedulers[i] < b.supportedSchedulers[i] ? -1 : 1;
        }
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.maxTimeslice != b.maxTimeslice)
    {
        return a.maxTimeslice < b.maxTimeslice ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.minTimeslice != b.minTimeslice)
    {
        return a.minTimeslice < b.minTimeslice ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.isArrModeSupported != b.isArrModeSupported)
    {
        return a.isArrModeSupported < b.isArrModeSupported ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.maxFrequencyForARR != b.maxFrequencyForARR)
    {
        return a.maxFrequencyForARR < b.maxFrequencyForARR ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.minFrequencyForARR != b.minFrequencyForARR)
    {
        return a.minFrequencyForARR < b.minFrequencyForARR ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.maxAvgFactorForARR != b.maxAvgFactorForARR)
    {
        return a.maxAvgFactorForARR < b.maxAvgFactorForARR ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.minAvgFactorForARR != b.minAvgFactorForARR)
    {
        return a.minAvgFactorForARR < b.minAvgFactorForARR ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuLicenseExpiry_tCompare(const nvmlVgpuLicenseExpiry_t &a, const nvmlVgpuLicenseExpiry_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.year != b.year)
    {
        return a.year < b.year ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.month != b.month)
    {
        return a.month < b.month ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.day != b.day)
    {
        return a.day < b.day ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.hour != b.hour)
    {
        return a.hour < b.hour ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.min != b.min)
    {
        return a.min < b.min ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sec != b.sec)
    {
        return a.sec < b.sec ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.status != b.status)
    {
        return a.status < b.status ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuLicenseInfo_tCompare(const nvmlVgpuLicenseInfo_t &a, const nvmlVgpuLicenseInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.isLicensed != b.isLicensed)
    {
        return a.isLicensed < b.isLicensed ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = nvmlVgpuLicenseExpiry_tCompare(a.licenseExpiry, b.licenseExpiry); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.currentState != b.currentState)
    {
        return a.currentState < b.currentState ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlGridLicenseExpiry_tCompare(const nvmlGridLicenseExpiry_t &a, const nvmlGridLicenseExpiry_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.year != b.year)
    {
        return a.year < b.year ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.month != b.month)
    {
        return a.month < b.month ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.day != b.day)
    {
        return a.day < b.day ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.hour != b.hour)
    {
        return a.hour < b.hour ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.min != b.min)
    {
        return a.min < b.min ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sec != b.sec)
    {
        return a.sec < b.sec ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.status != b.status)
    {
        return a.status < b.status ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlGridLicensableFeature_tCompare(const nvmlGridLicensableFeature_t &a, const nvmlGridLicensableFeature_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.featureCode != b.featureCode)
    {
        return a.featureCode < b.featureCode ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.featureState != b.featureState)
    {
        return a.featureState < b.featureState ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.licenseInfo, b.licenseInfo); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.productName, b.productName); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.featureEnabled != b.featureEnabled)
    {
        return a.featureEnabled < b.featureEnabled ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = nvmlGridLicenseExpiry_tCompare(a.licenseExpiry, b.licenseExpiry); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlGridLicensableFeatures_tCompare(const nvmlGridLicensableFeatures_t &a, const nvmlGridLicensableFeatures_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.isGridLicenseSupported != b.isGridLicenseSupported)
    {
        return a.isGridLicenseSupported < b.isGridLicenseSupported ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.licensableFeaturesCount != b.licensableFeaturesCount)
    {
        return a.licensableFeaturesCount < b.licensableFeaturesCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    for (unsigned int i = 0; i < sizeof(a.gridLicensableFeatures) / sizeof(a.gridLicensableFeatures[0]); ++i)
    {
        if (auto ret = nvmlGridLicensableFeature_tCompare(a.gridLicensableFeatures[i], b.gridLicensableFeatures[i]); ret)
        {
            return ret;
        }
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlNvLinkPowerThres_tCompare(const nvmlNvLinkPowerThres_t &a, const nvmlNvLinkPowerThres_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.lowPwrThreshold != b.lowPwrThreshold)
    {
        return a.lowPwrThreshold < b.lowPwrThreshold ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlFieldValue_tCompare(const nvmlFieldValue_t &a, const nvmlFieldValue_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.fieldId != b.fieldId)
    {
        return a.fieldId < b.fieldId ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.scopeId != b.scopeId)
    {
        return a.scopeId < b.scopeId ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.timestamp != b.timestamp)
    {
        return a.timestamp < b.timestamp ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.latencyUsec != b.latencyUsec)
    {
        return a.latencyUsec < b.latencyUsec ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.valueType != b.valueType)
    {
        return a.valueType < b.valueType ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.nvmlReturn != b.nvmlReturn)
    {
        return a.nvmlReturn < b.nvmlReturn ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(&a.value, &b.value, sizeof(a.value)); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlHwbcEntry_tCompare(const nvmlHwbcEntry_t &a, const nvmlHwbcEntry_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.hwbcId != b.hwbcId)
    {
        return a.hwbcId < b.hwbcId ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.firmwareVersion, b.firmwareVersion); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlLedState_tCompare(const nvmlLedState_t &a, const nvmlLedState_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.cause, b.cause); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.color != b.color)
    {
        return a.color < b.color ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlUnitInfo_tCompare(const nvmlUnitInfo_t &a, const nvmlUnitInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.name, b.name); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.id, b.id); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.serial, b.serial); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.firmwareVersion, b.firmwareVersion); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlPSUInfo_tCompare(const nvmlPSUInfo_t &a, const nvmlPSUInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.state, b.state); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.current != b.current)
    {
        return a.current < b.current ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.voltage != b.voltage)
    {
        return a.voltage < b.voltage ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.power != b.power)
    {
        return a.power < b.power ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlUnitFanInfo_tCompare(const nvmlUnitFanInfo_t &a, const nvmlUnitFanInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.speed != b.speed)
    {
        return a.speed < b.speed ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.state != b.state)
    {
        return a.state < b.state ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlUnitFanSpeeds_tCompare(const nvmlUnitFanSpeeds_t &a, const nvmlUnitFanSpeeds_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    for (unsigned int i = 0; i < sizeof(a.fans) / sizeof(a.fans[0]); ++i)
    {
        if (auto ret = nvmlUnitFanInfo_tCompare(a.fans[i], b.fans[i]); ret)
        {
            return ret;
        }
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.count != b.count)
    {
        return a.count < b.count ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlEventData_tCompare(const nvmlEventData_t &a, const nvmlEventData_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.device != b.device)
    {
        return a.device < b.device ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.eventType != b.eventType)
    {
        return a.eventType < b.eventType ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.eventData != b.eventData)
    {
        return a.eventData < b.eventData ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.gpuInstanceId != b.gpuInstanceId)
    {
        return a.gpuInstanceId < b.gpuInstanceId ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.computeInstanceId != b.computeInstanceId)
    {
        return a.computeInstanceId < b.computeInstanceId ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlAccountingStats_tCompare(const nvmlAccountingStats_t &a, const nvmlAccountingStats_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.gpuUtilization != b.gpuUtilization)
    {
        return a.gpuUtilization < b.gpuUtilization ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.memoryUtilization != b.memoryUtilization)
    {
        return a.memoryUtilization < b.memoryUtilization ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.maxMemoryUsage != b.maxMemoryUsage)
    {
        return a.maxMemoryUsage < b.maxMemoryUsage ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.time != b.time)
    {
        return a.time < b.time ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.startTime != b.startTime)
    {
        return a.startTime < b.startTime ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.isRunning != b.isRunning)
    {
        return a.isRunning < b.isRunning ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    for (unsigned int i = 0; i < sizeof(a.reserved) / sizeof(a.reserved[0]); ++i)
    {
        if (a.reserved[i] != b.reserved[i])
        {
            return a.reserved[i] < b.reserved[i] ? -1 : 1;
        }
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlEncoderSessionInfo_tCompare(const nvmlEncoderSessionInfo_t &a, const nvmlEncoderSessionInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.sessionId != b.sessionId)
    {
        return a.sessionId < b.sessionId ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.pid != b.pid)
    {
        return a.pid < b.pid ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.vgpuInstance != b.vgpuInstance)
    {
        return a.vgpuInstance < b.vgpuInstance ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.codecType != b.codecType)
    {
        return a.codecType < b.codecType ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.hResolution != b.hResolution)
    {
        return a.hResolution < b.hResolution ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.vResolution != b.vResolution)
    {
        return a.vResolution < b.vResolution ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.averageFps != b.averageFps)
    {
        return a.averageFps < b.averageFps ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.averageLatency != b.averageLatency)
    {
        return a.averageLatency < b.averageLatency ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlFBCStats_tCompare(const nvmlFBCStats_t &a, const nvmlFBCStats_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.sessionsCount != b.sessionsCount)
    {
        return a.sessionsCount < b.sessionsCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.averageFPS != b.averageFPS)
    {
        return a.averageFPS < b.averageFPS ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.averageLatency != b.averageLatency)
    {
        return a.averageLatency < b.averageLatency ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlFBCSessionInfo_tCompare(const nvmlFBCSessionInfo_t &a, const nvmlFBCSessionInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.sessionId != b.sessionId)
    {
        return a.sessionId < b.sessionId ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.pid != b.pid)
    {
        return a.pid < b.pid ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.vgpuInstance != b.vgpuInstance)
    {
        return a.vgpuInstance < b.vgpuInstance ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.displayOrdinal != b.displayOrdinal)
    {
        return a.displayOrdinal < b.displayOrdinal ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sessionType != b.sessionType)
    {
        return a.sessionType < b.sessionType ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sessionFlags != b.sessionFlags)
    {
        return a.sessionFlags < b.sessionFlags ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.hMaxResolution != b.hMaxResolution)
    {
        return a.hMaxResolution < b.hMaxResolution ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.vMaxResolution != b.vMaxResolution)
    {
        return a.vMaxResolution < b.vMaxResolution ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.hResolution != b.hResolution)
    {
        return a.hResolution < b.hResolution ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.vResolution != b.vResolution)
    {
        return a.vResolution < b.vResolution ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.averageFPS != b.averageFPS)
    {
        return a.averageFPS < b.averageFPS ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.averageLatency != b.averageLatency)
    {
        return a.averageLatency < b.averageLatency ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlConfComputeSystemCaps_tCompare(const nvmlConfComputeSystemCaps_t &a, const nvmlConfComputeSystemCaps_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.cpuCaps != b.cpuCaps)
    {
        return a.cpuCaps < b.cpuCaps ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.gpusCaps != b.gpusCaps)
    {
        return a.gpusCaps < b.gpusCaps ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlConfComputeSystemState_tCompare(const nvmlConfComputeSystemState_t &a, const nvmlConfComputeSystemState_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.environment != b.environment)
    {
        return a.environment < b.environment ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.ccFeature != b.ccFeature)
    {
        return a.ccFeature < b.ccFeature ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.devToolsMode != b.devToolsMode)
    {
        return a.devToolsMode < b.devToolsMode ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlSystemConfComputeSettings_tCompare(const nvmlSystemConfComputeSettings_t &a, const nvmlSystemConfComputeSettings_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.environment != b.environment)
    {
        return a.environment < b.environment ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.ccFeature != b.ccFeature)
    {
        return a.ccFeature < b.ccFeature ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.devToolsMode != b.devToolsMode)
    {
        return a.devToolsMode < b.devToolsMode ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.multiGpuMode != b.multiGpuMode)
    {
        return a.multiGpuMode < b.multiGpuMode ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlConfComputeMemSizeInfo_tCompare(const nvmlConfComputeMemSizeInfo_t &a, const nvmlConfComputeMemSizeInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.protectedMemSizeKib != b.protectedMemSizeKib)
    {
        return a.protectedMemSizeKib < b.protectedMemSizeKib ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.unprotectedMemSizeKib != b.unprotectedMemSizeKib)
    {
        return a.unprotectedMemSizeKib < b.unprotectedMemSizeKib ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlConfComputeGpuCertificate_tCompare(const nvmlConfComputeGpuCertificate_t &a, const nvmlConfComputeGpuCertificate_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.certChainSize != b.certChainSize)
    {
        return a.certChainSize < b.certChainSize ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.attestationCertChainSize != b.attestationCertChainSize)
    {
        return a.attestationCertChainSize < b.attestationCertChainSize ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(a.certChain, b.certChain, sizeof(a.certChain)); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(a.attestationCertChain, b.attestationCertChain, sizeof(a.attestationCertChain)); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlConfComputeGpuAttestationReport_tCompare(const nvmlConfComputeGpuAttestationReport_t &a, const nvmlConfComputeGpuAttestationReport_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.isCecAttestationReportPresent != b.isCecAttestationReportPresent)
    {
        return a.isCecAttestationReportPresent < b.isCecAttestationReportPresent ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.attestationReportSize != b.attestationReportSize)
    {
        return a.attestationReportSize < b.attestationReportSize ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.cecAttestationReportSize != b.cecAttestationReportSize)
    {
        return a.cecAttestationReportSize < b.cecAttestationReportSize ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(a.nonce, b.nonce, sizeof(a.nonce)); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(a.attestationReport, b.attestationReport, sizeof(a.attestationReport)); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(a.cecAttestationReport, b.cecAttestationReport, sizeof(a.cecAttestationReport)); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlConfComputeSetKeyRotationThresholdInfo_v1_tCompare(const nvmlConfComputeSetKeyRotationThresholdInfo_v1_t &a, const nvmlConfComputeSetKeyRotationThresholdInfo_v1_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.maxAttackerAdvantage != b.maxAttackerAdvantage)
    {
        return a.maxAttackerAdvantage < b.maxAttackerAdvantage ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlConfComputeGetKeyRotationThresholdInfo_v1_tCompare(const nvmlConfComputeGetKeyRotationThresholdInfo_v1_t &a, const nvmlConfComputeGetKeyRotationThresholdInfo_v1_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.attackerAdvantage != b.attackerAdvantage)
    {
        return a.attackerAdvantage < b.attackerAdvantage ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlGpuFabricInfo_tCompare(const nvmlGpuFabricInfo_t &a, const nvmlGpuFabricInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(a.clusterUuid, b.clusterUuid, sizeof(a.clusterUuid)); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.status != b.status)
    {
        return a.status < b.status ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.cliqueId != b.cliqueId)
    {
        return a.cliqueId < b.cliqueId ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.state != b.state)
    {
        return a.state < b.state ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlGpuFabricInfoV_tCompare(const nvmlGpuFabricInfoV_t &a, const nvmlGpuFabricInfoV_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = memcmp(a.clusterUuid, b.clusterUuid, sizeof(a.clusterUuid)); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.status != b.status)
    {
        return a.status < b.status ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.cliqueId != b.cliqueId)
    {
        return a.cliqueId < b.cliqueId ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.state != b.state)
    {
        return a.state < b.state ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.healthMask != b.healthMask)
    {
        return a.healthMask < b.healthMask ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlSystemDriverBranchInfo_tCompare(const nvmlSystemDriverBranchInfo_t &a, const nvmlSystemDriverBranchInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.branch, b.branch); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlTemperature_tCompare(const nvmlTemperature_t &a, const nvmlTemperature_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sensorType != b.sensorType)
    {
        return a.sensorType < b.sensorType ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.temperature != b.temperature)
    {
        return a.temperature < b.temperature ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuVersion_tCompare(const nvmlVgpuVersion_t &a, const nvmlVgpuVersion_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.minVersion != b.minVersion)
    {
        return a.minVersion < b.minVersion ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.maxVersion != b.maxVersion)
    {
        return a.maxVersion < b.maxVersion ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuMetadata_tCompare(const nvmlVgpuMetadata_t &a, const nvmlVgpuMetadata_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.revision != b.revision)
    {
        return a.revision < b.revision ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.guestInfoState != b.guestInfoState)
    {
        return a.guestInfoState < b.guestInfoState ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.guestDriverVersion, b.guestDriverVersion); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.hostDriverVersion, b.hostDriverVersion); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    for (unsigned int i = 0; i < sizeof(a.reserved) / sizeof(a.reserved[0]); ++i)
    {
        if (a.reserved[i] != b.reserved[i])
        {
            return a.reserved[i] < b.reserved[i] ? -1 : 1;
        }
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.vgpuVirtualizationCaps != b.vgpuVirtualizationCaps)
    {
        return a.vgpuVirtualizationCaps < b.vgpuVirtualizationCaps ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.guestVgpuVersion != b.guestVgpuVersion)
    {
        return a.guestVgpuVersion < b.guestVgpuVersion ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.opaqueDataSize != b.opaqueDataSize)
    {
        return a.opaqueDataSize < b.opaqueDataSize ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.opaqueData, b.opaqueData); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuPgpuMetadata_tCompare(const nvmlVgpuPgpuMetadata_t &a, const nvmlVgpuPgpuMetadata_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.revision != b.revision)
    {
        return a.revision < b.revision ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.hostDriverVersion, b.hostDriverVersion); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.pgpuVirtualizationCaps != b.pgpuVirtualizationCaps)
    {
        return a.pgpuVirtualizationCaps < b.pgpuVirtualizationCaps ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    for (unsigned int i = 0; i < sizeof(a.reserved) / sizeof(a.reserved[0]); ++i)
    {
        if (a.reserved[i] != b.reserved[i])
        {
            return a.reserved[i] < b.reserved[i] ? -1 : 1;
        }
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = nvmlVgpuVersion_tCompare(a.hostSupportedVgpuRange, b.hostSupportedVgpuRange); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.opaqueDataSize != b.opaqueDataSize)
    {
        return a.opaqueDataSize < b.opaqueDataSize ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.opaqueData, b.opaqueData); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlVgpuPgpuCompatibility_tCompare(const nvmlVgpuPgpuCompatibility_t &a, const nvmlVgpuPgpuCompatibility_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.vgpuVmCompatibility != b.vgpuVmCompatibility)
    {
        return a.vgpuVmCompatibility < b.vgpuVmCompatibility ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.compatibilityLimitCode != b.compatibilityLimitCode)
    {
        return a.compatibilityLimitCode < b.compatibilityLimitCode ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlExcludedDeviceInfo_tCompare(const nvmlExcludedDeviceInfo_t &a, const nvmlExcludedDeviceInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = nvmlPciInfo_tCompare(a.pciInfo, b.pciInfo); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.uuid, b.uuid); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlGpuInstancePlacement_tCompare(const nvmlGpuInstancePlacement_t &a, const nvmlGpuInstancePlacement_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.start != b.start)
    {
        return a.start < b.start ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.size != b.size)
    {
        return a.size < b.size ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlGpuInstanceProfileInfo_tCompare(const nvmlGpuInstanceProfileInfo_t &a, const nvmlGpuInstanceProfileInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.id != b.id)
    {
        return a.id < b.id ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.isP2pSupported != b.isP2pSupported)
    {
        return a.isP2pSupported < b.isP2pSupported ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sliceCount != b.sliceCount)
    {
        return a.sliceCount < b.sliceCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.instanceCount != b.instanceCount)
    {
        return a.instanceCount < b.instanceCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.multiprocessorCount != b.multiprocessorCount)
    {
        return a.multiprocessorCount < b.multiprocessorCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.copyEngineCount != b.copyEngineCount)
    {
        return a.copyEngineCount < b.copyEngineCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.decoderCount != b.decoderCount)
    {
        return a.decoderCount < b.decoderCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.encoderCount != b.encoderCount)
    {
        return a.encoderCount < b.encoderCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.jpegCount != b.jpegCount)
    {
        return a.jpegCount < b.jpegCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.ofaCount != b.ofaCount)
    {
        return a.ofaCount < b.ofaCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.memorySizeMB != b.memorySizeMB)
    {
        return a.memorySizeMB < b.memorySizeMB ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlGpuInstanceProfileInfo_v2_tCompare(const nvmlGpuInstanceProfileInfo_v2_t &a, const nvmlGpuInstanceProfileInfo_v2_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.id != b.id)
    {
        return a.id < b.id ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.isP2pSupported != b.isP2pSupported)
    {
        return a.isP2pSupported < b.isP2pSupported ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sliceCount != b.sliceCount)
    {
        return a.sliceCount < b.sliceCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.instanceCount != b.instanceCount)
    {
        return a.instanceCount < b.instanceCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.multiprocessorCount != b.multiprocessorCount)
    {
        return a.multiprocessorCount < b.multiprocessorCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.copyEngineCount != b.copyEngineCount)
    {
        return a.copyEngineCount < b.copyEngineCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.decoderCount != b.decoderCount)
    {
        return a.decoderCount < b.decoderCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.encoderCount != b.encoderCount)
    {
        return a.encoderCount < b.encoderCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.jpegCount != b.jpegCount)
    {
        return a.jpegCount < b.jpegCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.ofaCount != b.ofaCount)
    {
        return a.ofaCount < b.ofaCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.memorySizeMB != b.memorySizeMB)
    {
        return a.memorySizeMB < b.memorySizeMB ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.name, b.name); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlGpuInstanceProfileInfo_v3_tCompare(const nvmlGpuInstanceProfileInfo_v3_t &a, const nvmlGpuInstanceProfileInfo_v3_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.id != b.id)
    {
        return a.id < b.id ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sliceCount != b.sliceCount)
    {
        return a.sliceCount < b.sliceCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.instanceCount != b.instanceCount)
    {
        return a.instanceCount < b.instanceCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.multiprocessorCount != b.multiprocessorCount)
    {
        return a.multiprocessorCount < b.multiprocessorCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.copyEngineCount != b.copyEngineCount)
    {
        return a.copyEngineCount < b.copyEngineCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.decoderCount != b.decoderCount)
    {
        return a.decoderCount < b.decoderCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.encoderCount != b.encoderCount)
    {
        return a.encoderCount < b.encoderCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.jpegCount != b.jpegCount)
    {
        return a.jpegCount < b.jpegCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.ofaCount != b.ofaCount)
    {
        return a.ofaCount < b.ofaCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.memorySizeMB != b.memorySizeMB)
    {
        return a.memorySizeMB < b.memorySizeMB ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.name, b.name); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.capabilities != b.capabilities)
    {
        return a.capabilities < b.capabilities ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlGpuInstanceInfo_tCompare(const nvmlGpuInstanceInfo_t &a, const nvmlGpuInstanceInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.device != b.device)
    {
        return a.device < b.device ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.id != b.id)
    {
        return a.id < b.id ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.profileId != b.profileId)
    {
        return a.profileId < b.profileId ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = nvmlGpuInstancePlacement_tCompare(a.placement, b.placement); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlComputeInstancePlacement_tCompare(const nvmlComputeInstancePlacement_t &a, const nvmlComputeInstancePlacement_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.start != b.start)
    {
        return a.start < b.start ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.size != b.size)
    {
        return a.size < b.size ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlComputeInstanceProfileInfo_tCompare(const nvmlComputeInstanceProfileInfo_t &a, const nvmlComputeInstanceProfileInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.id != b.id)
    {
        return a.id < b.id ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sliceCount != b.sliceCount)
    {
        return a.sliceCount < b.sliceCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.instanceCount != b.instanceCount)
    {
        return a.instanceCount < b.instanceCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.multiprocessorCount != b.multiprocessorCount)
    {
        return a.multiprocessorCount < b.multiprocessorCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sharedCopyEngineCount != b.sharedCopyEngineCount)
    {
        return a.sharedCopyEngineCount < b.sharedCopyEngineCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sharedDecoderCount != b.sharedDecoderCount)
    {
        return a.sharedDecoderCount < b.sharedDecoderCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sharedEncoderCount != b.sharedEncoderCount)
    {
        return a.sharedEncoderCount < b.sharedEncoderCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sharedJpegCount != b.sharedJpegCount)
    {
        return a.sharedJpegCount < b.sharedJpegCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sharedOfaCount != b.sharedOfaCount)
    {
        return a.sharedOfaCount < b.sharedOfaCount ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlComputeInstanceProfileInfo_v2_tCompare(const nvmlComputeInstanceProfileInfo_v2_t &a, const nvmlComputeInstanceProfileInfo_v2_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.id != b.id)
    {
        return a.id < b.id ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sliceCount != b.sliceCount)
    {
        return a.sliceCount < b.sliceCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.instanceCount != b.instanceCount)
    {
        return a.instanceCount < b.instanceCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.multiprocessorCount != b.multiprocessorCount)
    {
        return a.multiprocessorCount < b.multiprocessorCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sharedCopyEngineCount != b.sharedCopyEngineCount)
    {
        return a.sharedCopyEngineCount < b.sharedCopyEngineCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sharedDecoderCount != b.sharedDecoderCount)
    {
        return a.sharedDecoderCount < b.sharedDecoderCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sharedEncoderCount != b.sharedEncoderCount)
    {
        return a.sharedEncoderCount < b.sharedEncoderCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sharedJpegCount != b.sharedJpegCount)
    {
        return a.sharedJpegCount < b.sharedJpegCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sharedOfaCount != b.sharedOfaCount)
    {
        return a.sharedOfaCount < b.sharedOfaCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.name, b.name); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlComputeInstanceProfileInfo_v3_tCompare(const nvmlComputeInstanceProfileInfo_v3_t &a, const nvmlComputeInstanceProfileInfo_v3_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.id != b.id)
    {
        return a.id < b.id ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sliceCount != b.sliceCount)
    {
        return a.sliceCount < b.sliceCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.instanceCount != b.instanceCount)
    {
        return a.instanceCount < b.instanceCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.multiprocessorCount != b.multiprocessorCount)
    {
        return a.multiprocessorCount < b.multiprocessorCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sharedCopyEngineCount != b.sharedCopyEngineCount)
    {
        return a.sharedCopyEngineCount < b.sharedCopyEngineCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sharedDecoderCount != b.sharedDecoderCount)
    {
        return a.sharedDecoderCount < b.sharedDecoderCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sharedEncoderCount != b.sharedEncoderCount)
    {
        return a.sharedEncoderCount < b.sharedEncoderCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sharedJpegCount != b.sharedJpegCount)
    {
        return a.sharedJpegCount < b.sharedJpegCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.sharedOfaCount != b.sharedOfaCount)
    {
        return a.sharedOfaCount < b.sharedOfaCount ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = strcmp(a.name, b.name); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.capabilities != b.capabilities)
    {
        return a.capabilities < b.capabilities ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlComputeInstanceInfo_tCompare(const nvmlComputeInstanceInfo_t &a, const nvmlComputeInstanceInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.device != b.device)
    {
        return a.device < b.device ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.gpuInstance != b.gpuInstance)
    {
        return a.gpuInstance < b.gpuInstance ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.id != b.id)
    {
        return a.id < b.id ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.profileId != b.profileId)
    {
        return a.profileId < b.profileId ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = nvmlComputeInstancePlacement_tCompare(a.placement, b.placement); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlGpmSupport_tCompare(const nvmlGpmSupport_t &a, const nvmlGpmSupport_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.isSupportedDevice != b.isSupportedDevice)
    {
        return a.isSupportedDevice < b.isSupportedDevice ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlDeviceCapabilities_tCompare(const nvmlDeviceCapabilities_t &a, const nvmlDeviceCapabilities_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.capMask != b.capMask)
    {
        return a.capMask < b.capMask ? -1 : 1;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlMask255_tCompare(const nvmlMask255_t &a, const nvmlMask255_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    for (unsigned int i = 0; i < sizeof(a.mask) / sizeof(a.mask[0]); ++i)
    {
        if (a.mask[i] != b.mask[i])
        {
            return a.mask[i] < b.mask[i] ? -1 : 1;
        }
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlWorkloadPowerProfileInfo_tCompare(const nvmlWorkloadPowerProfileInfo_t &a, const nvmlWorkloadPowerProfileInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.profileId != b.profileId)
    {
        return a.profileId < b.profileId ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (a.priority != b.priority)
    {
        return a.priority < b.priority ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = nvmlMask255_tCompare(a.conflictingMask, b.conflictingMask); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlWorkloadPowerProfileProfilesInfo_tCompare(const nvmlWorkloadPowerProfileProfilesInfo_t &a, const nvmlWorkloadPowerProfileProfilesInfo_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = nvmlMask255_tCompare(a.perfProfilesMask, b.perfProfilesMask); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    for (unsigned int i = 0; i < sizeof(a.perfProfile) / sizeof(a.perfProfile[0]); ++i)
    {
        if (auto ret = nvmlWorkloadPowerProfileInfo_tCompare(a.perfProfile[i], b.perfProfile[i]); ret)
        {
            return ret;
        }
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlWorkloadPowerProfileCurrentProfiles_tCompare(const nvmlWorkloadPowerProfileCurrentProfiles_t &a, const nvmlWorkloadPowerProfileCurrentProfiles_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = nvmlMask255_tCompare(a.perfProfilesMask, b.perfProfilesMask); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = nvmlMask255_tCompare(a.requestedProfilesMask, b.requestedProfilesMask); ret)
    {
        return ret;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = nvmlMask255_tCompare(a.enforcedProfilesMask, b.enforcedProfilesMask); ret)
    {
        return ret;
    }
    return 0;
}

// The following snippet is generated from write_struct_compare_definition
int nvmlWorkloadPowerProfileRequestedProfiles_tCompare(const nvmlWorkloadPowerProfileRequestedProfiles_t &a, const nvmlWorkloadPowerProfileRequestedProfiles_t &b)
{
    // The following snippet is generated from write_struct_compare_definition
    if (a.version != b.version)
    {
        return a.version < b.version ? -1 : 1;
    }
    // The following snippet is generated from write_struct_compare_definition
    if (auto ret = nvmlMask255_tCompare(a.requestedProfilesMask, b.requestedProfilesMask); ret)
    {
        return ret;
    }
    return 0;
}

}

// The following snippet is generated from write_injection_argument_cpp
nvmlReturn_t InjectionArgument::SetValueFrom(const InjectionArgument &other)
{
    bool set = false;

    if (other.IsEmpty())
    {
        return NVML_ERROR_NOT_FOUND;
    }
    switch (this->m_type)
    {
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_CHAR:
        {
            if (other.m_type == INJECTION_CHAR)
            {
                memcpy(&m_value.Char, &other.m_value.Char, sizeof(*&m_value.Char));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CHAR_PTR)
            {
                memcpy(&m_value.Char, other.m_value.Str, sizeof(*&m_value.Char));
                set = true;
            }
            break;
        }
        case INJECTION_CHAR_PTR:
        {
            if (other.m_type == INJECTION_CHAR_PTR)
            {
                memcpy(m_value.Str, other.m_value.Str, sizeof(*m_value.Str) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CHAR)
            {
                memcpy(m_value.Str, &other.m_value.Char, sizeof(*m_value.Str));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_DOUBLE:
        {
            if (other.m_type == INJECTION_DOUBLE)
            {
                memcpy(&m_value.Double, &other.m_value.Double, sizeof(*&m_value.Double));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_DOUBLE_PTR)
            {
                memcpy(&m_value.Double, other.m_value.DoublePtr, sizeof(*&m_value.Double));
                set = true;
            }
            break;
        }
        case INJECTION_DOUBLE_PTR:
        {
            if (other.m_type == INJECTION_DOUBLE_PTR)
            {
                memcpy(m_value.DoublePtr, other.m_value.DoublePtr, sizeof(*m_value.DoublePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_DOUBLE)
            {
                memcpy(m_value.DoublePtr, &other.m_value.Double, sizeof(*m_value.DoublePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_INT:
        {
            if (other.m_type == INJECTION_INT)
            {
                memcpy(&m_value.Int, &other.m_value.Int, sizeof(*&m_value.Int));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_INT_PTR)
            {
                memcpy(&m_value.Int, other.m_value.IntPtr, sizeof(*&m_value.Int));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_UINT && other.m_value.UInt <= INT_MAX)
            {
                this->m_value.Int = other.m_value.UInt;
                set = true;
            }
            else if (other.m_type == INJECTION_UINT_PTR && *other.m_value.UIntPtr <= INT_MAX)
            {
                this->m_value.Int = *other.m_value.UIntPtr;
                set = true;
            }
            break;
        }
        case INJECTION_INT_PTR:
        {
            if (other.m_type == INJECTION_INT_PTR)
            {
                memcpy(m_value.IntPtr, other.m_value.IntPtr, sizeof(*m_value.IntPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_INT)
            {
                memcpy(m_value.IntPtr, &other.m_value.Int, sizeof(*m_value.IntPtr));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_UINT && other.m_value.UInt <= INT_MAX)
            {
                *this->m_value.IntPtr = other.m_value.UInt;
                set = true;
            }
            else if (other.m_type == INJECTION_UINT_PTR && *other.m_value.UIntPtr <= INT_MAX)
            {
                *this->m_value.IntPtr = *other.m_value.UIntPtr;
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_LONG:
        {
            if (other.m_type == INJECTION_LONG)
            {
                memcpy(&m_value.Long, &other.m_value.Long, sizeof(*&m_value.Long));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_LONG_PTR)
            {
                memcpy(&m_value.Long, other.m_value.LongPtr, sizeof(*&m_value.Long));
                set = true;
            }
            break;
        }
        case INJECTION_LONG_PTR:
        {
            if (other.m_type == INJECTION_LONG_PTR)
            {
                memcpy(m_value.LongPtr, other.m_value.LongPtr, sizeof(*m_value.LongPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_LONG)
            {
                memcpy(m_value.LongPtr, &other.m_value.Long, sizeof(*m_value.LongPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_LONG_LONG:
        {
            if (other.m_type == INJECTION_LONG_LONG)
            {
                memcpy(&m_value.LongLong, &other.m_value.LongLong, sizeof(*&m_value.LongLong));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_LONG_LONG_PTR)
            {
                memcpy(&m_value.LongLong, other.m_value.LongLongPtr, sizeof(*&m_value.LongLong));
                set = true;
            }
            break;
        }
        case INJECTION_LONG_LONG_PTR:
        {
            if (other.m_type == INJECTION_LONG_LONG_PTR)
            {
                memcpy(m_value.LongLongPtr, other.m_value.LongLongPtr, sizeof(*m_value.LongLongPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_LONG_LONG)
            {
                memcpy(m_value.LongLongPtr, &other.m_value.LongLong, sizeof(*m_value.LongLongPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_ACCOUNTINGSTATS:
        {
            if (other.m_type == INJECTION_ACCOUNTINGSTATS)
            {
                memcpy(&m_value.AccountingStats, &other.m_value.AccountingStats, sizeof(*&m_value.AccountingStats));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_ACCOUNTINGSTATS_PTR)
            {
                memcpy(&m_value.AccountingStats, other.m_value.AccountingStatsPtr, sizeof(*&m_value.AccountingStats));
                set = true;
            }
            break;
        }
        case INJECTION_ACCOUNTINGSTATS_PTR:
        {
            if (other.m_type == INJECTION_ACCOUNTINGSTATS_PTR)
            {
                memcpy(m_value.AccountingStatsPtr, other.m_value.AccountingStatsPtr, sizeof(*m_value.AccountingStatsPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_ACCOUNTINGSTATS)
            {
                memcpy(m_value.AccountingStatsPtr, &other.m_value.AccountingStats, sizeof(*m_value.AccountingStatsPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_AFFINITYSCOPE:
        {
            if (other.m_type == INJECTION_AFFINITYSCOPE)
            {
                memcpy(&m_value.AffinityScope, &other.m_value.AffinityScope, sizeof(*&m_value.AffinityScope));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_AFFINITYSCOPE_PTR)
            {
                memcpy(&m_value.AffinityScope, other.m_value.AffinityScopePtr, sizeof(*&m_value.AffinityScope));
                set = true;
            }
            break;
        }
        case INJECTION_AFFINITYSCOPE_PTR:
        {
            if (other.m_type == INJECTION_AFFINITYSCOPE_PTR)
            {
                memcpy(m_value.AffinityScopePtr, other.m_value.AffinityScopePtr, sizeof(*m_value.AffinityScopePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_AFFINITYSCOPE)
            {
                memcpy(m_value.AffinityScopePtr, &other.m_value.AffinityScope, sizeof(*m_value.AffinityScopePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_BAR1MEMORY:
        {
            if (other.m_type == INJECTION_BAR1MEMORY)
            {
                memcpy(&m_value.BAR1Memory, &other.m_value.BAR1Memory, sizeof(*&m_value.BAR1Memory));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_BAR1MEMORY_PTR)
            {
                memcpy(&m_value.BAR1Memory, other.m_value.BAR1MemoryPtr, sizeof(*&m_value.BAR1Memory));
                set = true;
            }
            break;
        }
        case INJECTION_BAR1MEMORY_PTR:
        {
            if (other.m_type == INJECTION_BAR1MEMORY_PTR)
            {
                memcpy(m_value.BAR1MemoryPtr, other.m_value.BAR1MemoryPtr, sizeof(*m_value.BAR1MemoryPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_BAR1MEMORY)
            {
                memcpy(m_value.BAR1MemoryPtr, &other.m_value.BAR1Memory, sizeof(*m_value.BAR1MemoryPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_BRANDTYPE:
        {
            if (other.m_type == INJECTION_BRANDTYPE)
            {
                memcpy(&m_value.BrandType, &other.m_value.BrandType, sizeof(*&m_value.BrandType));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_BRANDTYPE_PTR)
            {
                memcpy(&m_value.BrandType, other.m_value.BrandTypePtr, sizeof(*&m_value.BrandType));
                set = true;
            }
            break;
        }
        case INJECTION_BRANDTYPE_PTR:
        {
            if (other.m_type == INJECTION_BRANDTYPE_PTR)
            {
                memcpy(m_value.BrandTypePtr, other.m_value.BrandTypePtr, sizeof(*m_value.BrandTypePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_BRANDTYPE)
            {
                memcpy(m_value.BrandTypePtr, &other.m_value.BrandType, sizeof(*m_value.BrandTypePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_BRIDGECHIPHIERARCHY:
        {
            if (other.m_type == INJECTION_BRIDGECHIPHIERARCHY)
            {
                memcpy(&m_value.BridgeChipHierarchy, &other.m_value.BridgeChipHierarchy, sizeof(*&m_value.BridgeChipHierarchy));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_BRIDGECHIPHIERARCHY_PTR)
            {
                memcpy(&m_value.BridgeChipHierarchy, other.m_value.BridgeChipHierarchyPtr, sizeof(*&m_value.BridgeChipHierarchy));
                set = true;
            }
            break;
        }
        case INJECTION_BRIDGECHIPHIERARCHY_PTR:
        {
            if (other.m_type == INJECTION_BRIDGECHIPHIERARCHY_PTR)
            {
                memcpy(m_value.BridgeChipHierarchyPtr, other.m_value.BridgeChipHierarchyPtr, sizeof(*m_value.BridgeChipHierarchyPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_BRIDGECHIPHIERARCHY)
            {
                memcpy(m_value.BridgeChipHierarchyPtr, &other.m_value.BridgeChipHierarchy, sizeof(*m_value.BridgeChipHierarchyPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_BRIDGECHIPINFO:
        {
            if (other.m_type == INJECTION_BRIDGECHIPINFO)
            {
                memcpy(&m_value.BridgeChipInfo, &other.m_value.BridgeChipInfo, sizeof(*&m_value.BridgeChipInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_BRIDGECHIPINFO_PTR)
            {
                memcpy(&m_value.BridgeChipInfo, other.m_value.BridgeChipInfoPtr, sizeof(*&m_value.BridgeChipInfo));
                set = true;
            }
            break;
        }
        case INJECTION_BRIDGECHIPINFO_PTR:
        {
            if (other.m_type == INJECTION_BRIDGECHIPINFO_PTR)
            {
                memcpy(m_value.BridgeChipInfoPtr, other.m_value.BridgeChipInfoPtr, sizeof(*m_value.BridgeChipInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_BRIDGECHIPINFO)
            {
                memcpy(m_value.BridgeChipInfoPtr, &other.m_value.BridgeChipInfo, sizeof(*m_value.BridgeChipInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_BRIDGECHIPTYPE:
        {
            if (other.m_type == INJECTION_BRIDGECHIPTYPE)
            {
                memcpy(&m_value.BridgeChipType, &other.m_value.BridgeChipType, sizeof(*&m_value.BridgeChipType));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_BRIDGECHIPTYPE_PTR)
            {
                memcpy(&m_value.BridgeChipType, other.m_value.BridgeChipTypePtr, sizeof(*&m_value.BridgeChipType));
                set = true;
            }
            break;
        }
        case INJECTION_BRIDGECHIPTYPE_PTR:
        {
            if (other.m_type == INJECTION_BRIDGECHIPTYPE_PTR)
            {
                memcpy(m_value.BridgeChipTypePtr, other.m_value.BridgeChipTypePtr, sizeof(*m_value.BridgeChipTypePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_BRIDGECHIPTYPE)
            {
                memcpy(m_value.BridgeChipTypePtr, &other.m_value.BridgeChipType, sizeof(*m_value.BridgeChipTypePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_BUSTYPE:
        {
            if (other.m_type == INJECTION_BUSTYPE)
            {
                memcpy(&m_value.BusType, &other.m_value.BusType, sizeof(*&m_value.BusType));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_BUSTYPE_PTR)
            {
                memcpy(&m_value.BusType, other.m_value.BusTypePtr, sizeof(*&m_value.BusType));
                set = true;
            }
            break;
        }
        case INJECTION_BUSTYPE_PTR:
        {
            if (other.m_type == INJECTION_BUSTYPE_PTR)
            {
                memcpy(m_value.BusTypePtr, other.m_value.BusTypePtr, sizeof(*m_value.BusTypePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_BUSTYPE)
            {
                memcpy(m_value.BusTypePtr, &other.m_value.BusType, sizeof(*m_value.BusTypePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_C2CMODEINFO_V1:
        {
            if (other.m_type == INJECTION_C2CMODEINFO_V1)
            {
                memcpy(&m_value.C2cModeInfo_v1, &other.m_value.C2cModeInfo_v1, sizeof(*&m_value.C2cModeInfo_v1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_C2CMODEINFO_V1_PTR)
            {
                memcpy(&m_value.C2cModeInfo_v1, other.m_value.C2cModeInfo_v1Ptr, sizeof(*&m_value.C2cModeInfo_v1));
                set = true;
            }
            break;
        }
        case INJECTION_C2CMODEINFO_V1_PTR:
        {
            if (other.m_type == INJECTION_C2CMODEINFO_V1_PTR)
            {
                memcpy(m_value.C2cModeInfo_v1Ptr, other.m_value.C2cModeInfo_v1Ptr, sizeof(*m_value.C2cModeInfo_v1Ptr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_C2CMODEINFO_V1)
            {
                memcpy(m_value.C2cModeInfo_v1Ptr, &other.m_value.C2cModeInfo_v1, sizeof(*m_value.C2cModeInfo_v1Ptr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_CLKMONFAULTINFO:
        {
            if (other.m_type == INJECTION_CLKMONFAULTINFO)
            {
                memcpy(&m_value.ClkMonFaultInfo, &other.m_value.ClkMonFaultInfo, sizeof(*&m_value.ClkMonFaultInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CLKMONFAULTINFO_PTR)
            {
                memcpy(&m_value.ClkMonFaultInfo, other.m_value.ClkMonFaultInfoPtr, sizeof(*&m_value.ClkMonFaultInfo));
                set = true;
            }
            break;
        }
        case INJECTION_CLKMONFAULTINFO_PTR:
        {
            if (other.m_type == INJECTION_CLKMONFAULTINFO_PTR)
            {
                memcpy(m_value.ClkMonFaultInfoPtr, other.m_value.ClkMonFaultInfoPtr, sizeof(*m_value.ClkMonFaultInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CLKMONFAULTINFO)
            {
                memcpy(m_value.ClkMonFaultInfoPtr, &other.m_value.ClkMonFaultInfo, sizeof(*m_value.ClkMonFaultInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_CLKMONSTATUS:
        {
            if (other.m_type == INJECTION_CLKMONSTATUS)
            {
                memcpy(&m_value.ClkMonStatus, &other.m_value.ClkMonStatus, sizeof(*&m_value.ClkMonStatus));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CLKMONSTATUS_PTR)
            {
                memcpy(&m_value.ClkMonStatus, other.m_value.ClkMonStatusPtr, sizeof(*&m_value.ClkMonStatus));
                set = true;
            }
            break;
        }
        case INJECTION_CLKMONSTATUS_PTR:
        {
            if (other.m_type == INJECTION_CLKMONSTATUS_PTR)
            {
                memcpy(m_value.ClkMonStatusPtr, other.m_value.ClkMonStatusPtr, sizeof(*m_value.ClkMonStatusPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CLKMONSTATUS)
            {
                memcpy(m_value.ClkMonStatusPtr, &other.m_value.ClkMonStatus, sizeof(*m_value.ClkMonStatusPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_CLOCKID:
        {
            if (other.m_type == INJECTION_CLOCKID)
            {
                memcpy(&m_value.ClockId, &other.m_value.ClockId, sizeof(*&m_value.ClockId));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CLOCKID_PTR)
            {
                memcpy(&m_value.ClockId, other.m_value.ClockIdPtr, sizeof(*&m_value.ClockId));
                set = true;
            }
            break;
        }
        case INJECTION_CLOCKID_PTR:
        {
            if (other.m_type == INJECTION_CLOCKID_PTR)
            {
                memcpy(m_value.ClockIdPtr, other.m_value.ClockIdPtr, sizeof(*m_value.ClockIdPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CLOCKID)
            {
                memcpy(m_value.ClockIdPtr, &other.m_value.ClockId, sizeof(*m_value.ClockIdPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_CLOCKLIMITID:
        {
            if (other.m_type == INJECTION_CLOCKLIMITID)
            {
                memcpy(&m_value.ClockLimitId, &other.m_value.ClockLimitId, sizeof(*&m_value.ClockLimitId));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CLOCKLIMITID_PTR)
            {
                memcpy(&m_value.ClockLimitId, other.m_value.ClockLimitIdPtr, sizeof(*&m_value.ClockLimitId));
                set = true;
            }
            break;
        }
        case INJECTION_CLOCKLIMITID_PTR:
        {
            if (other.m_type == INJECTION_CLOCKLIMITID_PTR)
            {
                memcpy(m_value.ClockLimitIdPtr, other.m_value.ClockLimitIdPtr, sizeof(*m_value.ClockLimitIdPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CLOCKLIMITID)
            {
                memcpy(m_value.ClockLimitIdPtr, &other.m_value.ClockLimitId, sizeof(*m_value.ClockLimitIdPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_CLOCKOFFSET:
        {
            if (other.m_type == INJECTION_CLOCKOFFSET)
            {
                memcpy(&m_value.ClockOffset, &other.m_value.ClockOffset, sizeof(*&m_value.ClockOffset));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CLOCKOFFSET_PTR)
            {
                memcpy(&m_value.ClockOffset, other.m_value.ClockOffsetPtr, sizeof(*&m_value.ClockOffset));
                set = true;
            }
            break;
        }
        case INJECTION_CLOCKOFFSET_PTR:
        {
            if (other.m_type == INJECTION_CLOCKOFFSET_PTR)
            {
                memcpy(m_value.ClockOffsetPtr, other.m_value.ClockOffsetPtr, sizeof(*m_value.ClockOffsetPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CLOCKOFFSET)
            {
                memcpy(m_value.ClockOffsetPtr, &other.m_value.ClockOffset, sizeof(*m_value.ClockOffsetPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_CLOCKTYPE:
        {
            if (other.m_type == INJECTION_CLOCKTYPE)
            {
                memcpy(&m_value.ClockType, &other.m_value.ClockType, sizeof(*&m_value.ClockType));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CLOCKTYPE_PTR)
            {
                memcpy(&m_value.ClockType, other.m_value.ClockTypePtr, sizeof(*&m_value.ClockType));
                set = true;
            }
            break;
        }
        case INJECTION_CLOCKTYPE_PTR:
        {
            if (other.m_type == INJECTION_CLOCKTYPE_PTR)
            {
                memcpy(m_value.ClockTypePtr, other.m_value.ClockTypePtr, sizeof(*m_value.ClockTypePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CLOCKTYPE)
            {
                memcpy(m_value.ClockTypePtr, &other.m_value.ClockType, sizeof(*m_value.ClockTypePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_COMPUTEINSTANCEINFO:
        {
            if (other.m_type == INJECTION_COMPUTEINSTANCEINFO)
            {
                memcpy(&m_value.ComputeInstanceInfo, &other.m_value.ComputeInstanceInfo, sizeof(*&m_value.ComputeInstanceInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_COMPUTEINSTANCEINFO_PTR)
            {
                memcpy(&m_value.ComputeInstanceInfo, other.m_value.ComputeInstanceInfoPtr, sizeof(*&m_value.ComputeInstanceInfo));
                set = true;
            }
            break;
        }
        case INJECTION_COMPUTEINSTANCEINFO_PTR:
        {
            if (other.m_type == INJECTION_COMPUTEINSTANCEINFO_PTR)
            {
                memcpy(m_value.ComputeInstanceInfoPtr, other.m_value.ComputeInstanceInfoPtr, sizeof(*m_value.ComputeInstanceInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_COMPUTEINSTANCEINFO)
            {
                memcpy(m_value.ComputeInstanceInfoPtr, &other.m_value.ComputeInstanceInfo, sizeof(*m_value.ComputeInstanceInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_COMPUTEINSTANCEPLACEMENT:
        {
            if (other.m_type == INJECTION_COMPUTEINSTANCEPLACEMENT)
            {
                memcpy(&m_value.ComputeInstancePlacement, &other.m_value.ComputeInstancePlacement, sizeof(*&m_value.ComputeInstancePlacement));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_COMPUTEINSTANCEPLACEMENT_PTR)
            {
                memcpy(&m_value.ComputeInstancePlacement, other.m_value.ComputeInstancePlacementPtr, sizeof(*&m_value.ComputeInstancePlacement));
                set = true;
            }
            break;
        }
        case INJECTION_COMPUTEINSTANCEPLACEMENT_PTR:
        {
            if (other.m_type == INJECTION_COMPUTEINSTANCEPLACEMENT_PTR)
            {
                memcpy(m_value.ComputeInstancePlacementPtr, other.m_value.ComputeInstancePlacementPtr, sizeof(*m_value.ComputeInstancePlacementPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_COMPUTEINSTANCEPLACEMENT)
            {
                memcpy(m_value.ComputeInstancePlacementPtr, &other.m_value.ComputeInstancePlacement, sizeof(*m_value.ComputeInstancePlacementPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_COMPUTEINSTANCEPROFILEINFO:
        {
            if (other.m_type == INJECTION_COMPUTEINSTANCEPROFILEINFO)
            {
                memcpy(&m_value.ComputeInstanceProfileInfo, &other.m_value.ComputeInstanceProfileInfo, sizeof(*&m_value.ComputeInstanceProfileInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_COMPUTEINSTANCEPROFILEINFO_PTR)
            {
                memcpy(&m_value.ComputeInstanceProfileInfo, other.m_value.ComputeInstanceProfileInfoPtr, sizeof(*&m_value.ComputeInstanceProfileInfo));
                set = true;
            }
            break;
        }
        case INJECTION_COMPUTEINSTANCEPROFILEINFO_PTR:
        {
            if (other.m_type == INJECTION_COMPUTEINSTANCEPROFILEINFO_PTR)
            {
                memcpy(m_value.ComputeInstanceProfileInfoPtr, other.m_value.ComputeInstanceProfileInfoPtr, sizeof(*m_value.ComputeInstanceProfileInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_COMPUTEINSTANCEPROFILEINFO)
            {
                memcpy(m_value.ComputeInstanceProfileInfoPtr, &other.m_value.ComputeInstanceProfileInfo, sizeof(*m_value.ComputeInstanceProfileInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_COMPUTEINSTANCEPROFILEINFO_V2:
        {
            if (other.m_type == INJECTION_COMPUTEINSTANCEPROFILEINFO_V2)
            {
                memcpy(&m_value.ComputeInstanceProfileInfo_v2, &other.m_value.ComputeInstanceProfileInfo_v2, sizeof(*&m_value.ComputeInstanceProfileInfo_v2));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_COMPUTEINSTANCEPROFILEINFO_V2_PTR)
            {
                memcpy(&m_value.ComputeInstanceProfileInfo_v2, other.m_value.ComputeInstanceProfileInfo_v2Ptr, sizeof(*&m_value.ComputeInstanceProfileInfo_v2));
                set = true;
            }
            break;
        }
        case INJECTION_COMPUTEINSTANCEPROFILEINFO_V2_PTR:
        {
            if (other.m_type == INJECTION_COMPUTEINSTANCEPROFILEINFO_V2_PTR)
            {
                memcpy(m_value.ComputeInstanceProfileInfo_v2Ptr, other.m_value.ComputeInstanceProfileInfo_v2Ptr, sizeof(*m_value.ComputeInstanceProfileInfo_v2Ptr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_COMPUTEINSTANCEPROFILEINFO_V2)
            {
                memcpy(m_value.ComputeInstanceProfileInfo_v2Ptr, &other.m_value.ComputeInstanceProfileInfo_v2, sizeof(*m_value.ComputeInstanceProfileInfo_v2Ptr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_COMPUTEINSTANCEPROFILEINFO_V3:
        {
            if (other.m_type == INJECTION_COMPUTEINSTANCEPROFILEINFO_V3)
            {
                memcpy(&m_value.ComputeInstanceProfileInfo_v3, &other.m_value.ComputeInstanceProfileInfo_v3, sizeof(*&m_value.ComputeInstanceProfileInfo_v3));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_COMPUTEINSTANCEPROFILEINFO_V3_PTR)
            {
                memcpy(&m_value.ComputeInstanceProfileInfo_v3, other.m_value.ComputeInstanceProfileInfo_v3Ptr, sizeof(*&m_value.ComputeInstanceProfileInfo_v3));
                set = true;
            }
            break;
        }
        case INJECTION_COMPUTEINSTANCEPROFILEINFO_V3_PTR:
        {
            if (other.m_type == INJECTION_COMPUTEINSTANCEPROFILEINFO_V3_PTR)
            {
                memcpy(m_value.ComputeInstanceProfileInfo_v3Ptr, other.m_value.ComputeInstanceProfileInfo_v3Ptr, sizeof(*m_value.ComputeInstanceProfileInfo_v3Ptr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_COMPUTEINSTANCEPROFILEINFO_V3)
            {
                memcpy(m_value.ComputeInstanceProfileInfo_v3Ptr, &other.m_value.ComputeInstanceProfileInfo_v3, sizeof(*m_value.ComputeInstanceProfileInfo_v3Ptr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_COMPUTEINSTANCE:
        {
            if (other.m_type == INJECTION_COMPUTEINSTANCE)
            {
                memcpy(&m_value.ComputeInstance, &other.m_value.ComputeInstance, sizeof(*&m_value.ComputeInstance));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_COMPUTEINSTANCE_PTR)
            {
                memcpy(&m_value.ComputeInstance, other.m_value.ComputeInstancePtr, sizeof(*&m_value.ComputeInstance));
                set = true;
            }
            break;
        }
        case INJECTION_COMPUTEINSTANCE_PTR:
        {
            if (other.m_type == INJECTION_COMPUTEINSTANCE_PTR)
            {
                memcpy(m_value.ComputeInstancePtr, other.m_value.ComputeInstancePtr, sizeof(*m_value.ComputeInstancePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_COMPUTEINSTANCE)
            {
                memcpy(m_value.ComputeInstancePtr, &other.m_value.ComputeInstance, sizeof(*m_value.ComputeInstancePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_COMPUTEMODE:
        {
            if (other.m_type == INJECTION_COMPUTEMODE)
            {
                memcpy(&m_value.ComputeMode, &other.m_value.ComputeMode, sizeof(*&m_value.ComputeMode));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_COMPUTEMODE_PTR)
            {
                memcpy(&m_value.ComputeMode, other.m_value.ComputeModePtr, sizeof(*&m_value.ComputeMode));
                set = true;
            }
            break;
        }
        case INJECTION_COMPUTEMODE_PTR:
        {
            if (other.m_type == INJECTION_COMPUTEMODE_PTR)
            {
                memcpy(m_value.ComputeModePtr, other.m_value.ComputeModePtr, sizeof(*m_value.ComputeModePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_COMPUTEMODE)
            {
                memcpy(m_value.ComputeModePtr, &other.m_value.ComputeMode, sizeof(*m_value.ComputeModePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_CONFCOMPUTEGETKEYROTATIONTHRESHOLDINFO_V1:
        {
            if (other.m_type == INJECTION_CONFCOMPUTEGETKEYROTATIONTHRESHOLDINFO_V1)
            {
                memcpy(&m_value.ConfComputeGetKeyRotationThresholdInfo_v1, &other.m_value.ConfComputeGetKeyRotationThresholdInfo_v1, sizeof(*&m_value.ConfComputeGetKeyRotationThresholdInfo_v1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CONFCOMPUTEGETKEYROTATIONTHRESHOLDINFO_V1_PTR)
            {
                memcpy(&m_value.ConfComputeGetKeyRotationThresholdInfo_v1, other.m_value.ConfComputeGetKeyRotationThresholdInfo_v1Ptr, sizeof(*&m_value.ConfComputeGetKeyRotationThresholdInfo_v1));
                set = true;
            }
            break;
        }
        case INJECTION_CONFCOMPUTEGETKEYROTATIONTHRESHOLDINFO_V1_PTR:
        {
            if (other.m_type == INJECTION_CONFCOMPUTEGETKEYROTATIONTHRESHOLDINFO_V1_PTR)
            {
                memcpy(m_value.ConfComputeGetKeyRotationThresholdInfo_v1Ptr, other.m_value.ConfComputeGetKeyRotationThresholdInfo_v1Ptr, sizeof(*m_value.ConfComputeGetKeyRotationThresholdInfo_v1Ptr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CONFCOMPUTEGETKEYROTATIONTHRESHOLDINFO_V1)
            {
                memcpy(m_value.ConfComputeGetKeyRotationThresholdInfo_v1Ptr, &other.m_value.ConfComputeGetKeyRotationThresholdInfo_v1, sizeof(*m_value.ConfComputeGetKeyRotationThresholdInfo_v1Ptr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_CONFCOMPUTEGPUATTESTATIONREPORT:
        {
            if (other.m_type == INJECTION_CONFCOMPUTEGPUATTESTATIONREPORT)
            {
                memcpy(&m_value.ConfComputeGpuAttestationReport, &other.m_value.ConfComputeGpuAttestationReport, sizeof(*&m_value.ConfComputeGpuAttestationReport));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CONFCOMPUTEGPUATTESTATIONREPORT_PTR)
            {
                memcpy(&m_value.ConfComputeGpuAttestationReport, other.m_value.ConfComputeGpuAttestationReportPtr, sizeof(*&m_value.ConfComputeGpuAttestationReport));
                set = true;
            }
            break;
        }
        case INJECTION_CONFCOMPUTEGPUATTESTATIONREPORT_PTR:
        {
            if (other.m_type == INJECTION_CONFCOMPUTEGPUATTESTATIONREPORT_PTR)
            {
                memcpy(m_value.ConfComputeGpuAttestationReportPtr, other.m_value.ConfComputeGpuAttestationReportPtr, sizeof(*m_value.ConfComputeGpuAttestationReportPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CONFCOMPUTEGPUATTESTATIONREPORT)
            {
                memcpy(m_value.ConfComputeGpuAttestationReportPtr, &other.m_value.ConfComputeGpuAttestationReport, sizeof(*m_value.ConfComputeGpuAttestationReportPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_CONFCOMPUTEGPUCERTIFICATE:
        {
            if (other.m_type == INJECTION_CONFCOMPUTEGPUCERTIFICATE)
            {
                memcpy(&m_value.ConfComputeGpuCertificate, &other.m_value.ConfComputeGpuCertificate, sizeof(*&m_value.ConfComputeGpuCertificate));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CONFCOMPUTEGPUCERTIFICATE_PTR)
            {
                memcpy(&m_value.ConfComputeGpuCertificate, other.m_value.ConfComputeGpuCertificatePtr, sizeof(*&m_value.ConfComputeGpuCertificate));
                set = true;
            }
            break;
        }
        case INJECTION_CONFCOMPUTEGPUCERTIFICATE_PTR:
        {
            if (other.m_type == INJECTION_CONFCOMPUTEGPUCERTIFICATE_PTR)
            {
                memcpy(m_value.ConfComputeGpuCertificatePtr, other.m_value.ConfComputeGpuCertificatePtr, sizeof(*m_value.ConfComputeGpuCertificatePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CONFCOMPUTEGPUCERTIFICATE)
            {
                memcpy(m_value.ConfComputeGpuCertificatePtr, &other.m_value.ConfComputeGpuCertificate, sizeof(*m_value.ConfComputeGpuCertificatePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_CONFCOMPUTEMEMSIZEINFO:
        {
            if (other.m_type == INJECTION_CONFCOMPUTEMEMSIZEINFO)
            {
                memcpy(&m_value.ConfComputeMemSizeInfo, &other.m_value.ConfComputeMemSizeInfo, sizeof(*&m_value.ConfComputeMemSizeInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CONFCOMPUTEMEMSIZEINFO_PTR)
            {
                memcpy(&m_value.ConfComputeMemSizeInfo, other.m_value.ConfComputeMemSizeInfoPtr, sizeof(*&m_value.ConfComputeMemSizeInfo));
                set = true;
            }
            break;
        }
        case INJECTION_CONFCOMPUTEMEMSIZEINFO_PTR:
        {
            if (other.m_type == INJECTION_CONFCOMPUTEMEMSIZEINFO_PTR)
            {
                memcpy(m_value.ConfComputeMemSizeInfoPtr, other.m_value.ConfComputeMemSizeInfoPtr, sizeof(*m_value.ConfComputeMemSizeInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CONFCOMPUTEMEMSIZEINFO)
            {
                memcpy(m_value.ConfComputeMemSizeInfoPtr, &other.m_value.ConfComputeMemSizeInfo, sizeof(*m_value.ConfComputeMemSizeInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_CONFCOMPUTESETKEYROTATIONTHRESHOLDINFO_V1:
        {
            if (other.m_type == INJECTION_CONFCOMPUTESETKEYROTATIONTHRESHOLDINFO_V1)
            {
                memcpy(&m_value.ConfComputeSetKeyRotationThresholdInfo_v1, &other.m_value.ConfComputeSetKeyRotationThresholdInfo_v1, sizeof(*&m_value.ConfComputeSetKeyRotationThresholdInfo_v1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CONFCOMPUTESETKEYROTATIONTHRESHOLDINFO_V1_PTR)
            {
                memcpy(&m_value.ConfComputeSetKeyRotationThresholdInfo_v1, other.m_value.ConfComputeSetKeyRotationThresholdInfo_v1Ptr, sizeof(*&m_value.ConfComputeSetKeyRotationThresholdInfo_v1));
                set = true;
            }
            break;
        }
        case INJECTION_CONFCOMPUTESETKEYROTATIONTHRESHOLDINFO_V1_PTR:
        {
            if (other.m_type == INJECTION_CONFCOMPUTESETKEYROTATIONTHRESHOLDINFO_V1_PTR)
            {
                memcpy(m_value.ConfComputeSetKeyRotationThresholdInfo_v1Ptr, other.m_value.ConfComputeSetKeyRotationThresholdInfo_v1Ptr, sizeof(*m_value.ConfComputeSetKeyRotationThresholdInfo_v1Ptr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CONFCOMPUTESETKEYROTATIONTHRESHOLDINFO_V1)
            {
                memcpy(m_value.ConfComputeSetKeyRotationThresholdInfo_v1Ptr, &other.m_value.ConfComputeSetKeyRotationThresholdInfo_v1, sizeof(*m_value.ConfComputeSetKeyRotationThresholdInfo_v1Ptr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_CONFCOMPUTESYSTEMCAPS:
        {
            if (other.m_type == INJECTION_CONFCOMPUTESYSTEMCAPS)
            {
                memcpy(&m_value.ConfComputeSystemCaps, &other.m_value.ConfComputeSystemCaps, sizeof(*&m_value.ConfComputeSystemCaps));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CONFCOMPUTESYSTEMCAPS_PTR)
            {
                memcpy(&m_value.ConfComputeSystemCaps, other.m_value.ConfComputeSystemCapsPtr, sizeof(*&m_value.ConfComputeSystemCaps));
                set = true;
            }
            break;
        }
        case INJECTION_CONFCOMPUTESYSTEMCAPS_PTR:
        {
            if (other.m_type == INJECTION_CONFCOMPUTESYSTEMCAPS_PTR)
            {
                memcpy(m_value.ConfComputeSystemCapsPtr, other.m_value.ConfComputeSystemCapsPtr, sizeof(*m_value.ConfComputeSystemCapsPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CONFCOMPUTESYSTEMCAPS)
            {
                memcpy(m_value.ConfComputeSystemCapsPtr, &other.m_value.ConfComputeSystemCaps, sizeof(*m_value.ConfComputeSystemCapsPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_CONFCOMPUTESYSTEMSTATE:
        {
            if (other.m_type == INJECTION_CONFCOMPUTESYSTEMSTATE)
            {
                memcpy(&m_value.ConfComputeSystemState, &other.m_value.ConfComputeSystemState, sizeof(*&m_value.ConfComputeSystemState));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CONFCOMPUTESYSTEMSTATE_PTR)
            {
                memcpy(&m_value.ConfComputeSystemState, other.m_value.ConfComputeSystemStatePtr, sizeof(*&m_value.ConfComputeSystemState));
                set = true;
            }
            break;
        }
        case INJECTION_CONFCOMPUTESYSTEMSTATE_PTR:
        {
            if (other.m_type == INJECTION_CONFCOMPUTESYSTEMSTATE_PTR)
            {
                memcpy(m_value.ConfComputeSystemStatePtr, other.m_value.ConfComputeSystemStatePtr, sizeof(*m_value.ConfComputeSystemStatePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_CONFCOMPUTESYSTEMSTATE)
            {
                memcpy(m_value.ConfComputeSystemStatePtr, &other.m_value.ConfComputeSystemState, sizeof(*m_value.ConfComputeSystemStatePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_COOLERCONTROL:
        {
            if (other.m_type == INJECTION_COOLERCONTROL)
            {
                memcpy(&m_value.CoolerControl, &other.m_value.CoolerControl, sizeof(*&m_value.CoolerControl));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_COOLERCONTROL_PTR)
            {
                memcpy(&m_value.CoolerControl, other.m_value.CoolerControlPtr, sizeof(*&m_value.CoolerControl));
                set = true;
            }
            break;
        }
        case INJECTION_COOLERCONTROL_PTR:
        {
            if (other.m_type == INJECTION_COOLERCONTROL_PTR)
            {
                memcpy(m_value.CoolerControlPtr, other.m_value.CoolerControlPtr, sizeof(*m_value.CoolerControlPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_COOLERCONTROL)
            {
                memcpy(m_value.CoolerControlPtr, &other.m_value.CoolerControl, sizeof(*m_value.CoolerControlPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_COOLERINFO:
        {
            if (other.m_type == INJECTION_COOLERINFO)
            {
                memcpy(&m_value.CoolerInfo, &other.m_value.CoolerInfo, sizeof(*&m_value.CoolerInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_COOLERINFO_PTR)
            {
                memcpy(&m_value.CoolerInfo, other.m_value.CoolerInfoPtr, sizeof(*&m_value.CoolerInfo));
                set = true;
            }
            break;
        }
        case INJECTION_COOLERINFO_PTR:
        {
            if (other.m_type == INJECTION_COOLERINFO_PTR)
            {
                memcpy(m_value.CoolerInfoPtr, other.m_value.CoolerInfoPtr, sizeof(*m_value.CoolerInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_COOLERINFO)
            {
                memcpy(m_value.CoolerInfoPtr, &other.m_value.CoolerInfo, sizeof(*m_value.CoolerInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_COOLERTARGET:
        {
            if (other.m_type == INJECTION_COOLERTARGET)
            {
                memcpy(&m_value.CoolerTarget, &other.m_value.CoolerTarget, sizeof(*&m_value.CoolerTarget));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_COOLERTARGET_PTR)
            {
                memcpy(&m_value.CoolerTarget, other.m_value.CoolerTargetPtr, sizeof(*&m_value.CoolerTarget));
                set = true;
            }
            break;
        }
        case INJECTION_COOLERTARGET_PTR:
        {
            if (other.m_type == INJECTION_COOLERTARGET_PTR)
            {
                memcpy(m_value.CoolerTargetPtr, other.m_value.CoolerTargetPtr, sizeof(*m_value.CoolerTargetPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_COOLERTARGET)
            {
                memcpy(m_value.CoolerTargetPtr, &other.m_value.CoolerTarget, sizeof(*m_value.CoolerTargetPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_DETACHGPUSTATE:
        {
            if (other.m_type == INJECTION_DETACHGPUSTATE)
            {
                memcpy(&m_value.DetachGpuState, &other.m_value.DetachGpuState, sizeof(*&m_value.DetachGpuState));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_DETACHGPUSTATE_PTR)
            {
                memcpy(&m_value.DetachGpuState, other.m_value.DetachGpuStatePtr, sizeof(*&m_value.DetachGpuState));
                set = true;
            }
            break;
        }
        case INJECTION_DETACHGPUSTATE_PTR:
        {
            if (other.m_type == INJECTION_DETACHGPUSTATE_PTR)
            {
                memcpy(m_value.DetachGpuStatePtr, other.m_value.DetachGpuStatePtr, sizeof(*m_value.DetachGpuStatePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_DETACHGPUSTATE)
            {
                memcpy(m_value.DetachGpuStatePtr, &other.m_value.DetachGpuState, sizeof(*m_value.DetachGpuStatePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_DEVICEARCHITECTURE:
        {
            if (other.m_type == INJECTION_DEVICEARCHITECTURE)
            {
                memcpy(&m_value.DeviceArchitecture, &other.m_value.DeviceArchitecture, sizeof(*&m_value.DeviceArchitecture));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_DEVICEARCHITECTURE_PTR)
            {
                memcpy(&m_value.DeviceArchitecture, other.m_value.DeviceArchitecturePtr, sizeof(*&m_value.DeviceArchitecture));
                set = true;
            }
            break;
        }
        case INJECTION_DEVICEARCHITECTURE_PTR:
        {
            if (other.m_type == INJECTION_DEVICEARCHITECTURE_PTR)
            {
                memcpy(m_value.DeviceArchitecturePtr, other.m_value.DeviceArchitecturePtr, sizeof(*m_value.DeviceArchitecturePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_DEVICEARCHITECTURE)
            {
                memcpy(m_value.DeviceArchitecturePtr, &other.m_value.DeviceArchitecture, sizeof(*m_value.DeviceArchitecturePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_DEVICEATTRIBUTES:
        {
            if (other.m_type == INJECTION_DEVICEATTRIBUTES)
            {
                memcpy(&m_value.DeviceAttributes, &other.m_value.DeviceAttributes, sizeof(*&m_value.DeviceAttributes));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_DEVICEATTRIBUTES_PTR)
            {
                memcpy(&m_value.DeviceAttributes, other.m_value.DeviceAttributesPtr, sizeof(*&m_value.DeviceAttributes));
                set = true;
            }
            break;
        }
        case INJECTION_DEVICEATTRIBUTES_PTR:
        {
            if (other.m_type == INJECTION_DEVICEATTRIBUTES_PTR)
            {
                memcpy(m_value.DeviceAttributesPtr, other.m_value.DeviceAttributesPtr, sizeof(*m_value.DeviceAttributesPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_DEVICEATTRIBUTES)
            {
                memcpy(m_value.DeviceAttributesPtr, &other.m_value.DeviceAttributes, sizeof(*m_value.DeviceAttributesPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_DEVICECAPABILITIES:
        {
            if (other.m_type == INJECTION_DEVICECAPABILITIES)
            {
                memcpy(&m_value.DeviceCapabilities, &other.m_value.DeviceCapabilities, sizeof(*&m_value.DeviceCapabilities));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_DEVICECAPABILITIES_PTR)
            {
                memcpy(&m_value.DeviceCapabilities, other.m_value.DeviceCapabilitiesPtr, sizeof(*&m_value.DeviceCapabilities));
                set = true;
            }
            break;
        }
        case INJECTION_DEVICECAPABILITIES_PTR:
        {
            if (other.m_type == INJECTION_DEVICECAPABILITIES_PTR)
            {
                memcpy(m_value.DeviceCapabilitiesPtr, other.m_value.DeviceCapabilitiesPtr, sizeof(*m_value.DeviceCapabilitiesPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_DEVICECAPABILITIES)
            {
                memcpy(m_value.DeviceCapabilitiesPtr, &other.m_value.DeviceCapabilities, sizeof(*m_value.DeviceCapabilitiesPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_DEVICECURRENTCLOCKFREQS:
        {
            if (other.m_type == INJECTION_DEVICECURRENTCLOCKFREQS)
            {
                memcpy(&m_value.DeviceCurrentClockFreqs, &other.m_value.DeviceCurrentClockFreqs, sizeof(*&m_value.DeviceCurrentClockFreqs));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_DEVICECURRENTCLOCKFREQS_PTR)
            {
                memcpy(&m_value.DeviceCurrentClockFreqs, other.m_value.DeviceCurrentClockFreqsPtr, sizeof(*&m_value.DeviceCurrentClockFreqs));
                set = true;
            }
            break;
        }
        case INJECTION_DEVICECURRENTCLOCKFREQS_PTR:
        {
            if (other.m_type == INJECTION_DEVICECURRENTCLOCKFREQS_PTR)
            {
                memcpy(m_value.DeviceCurrentClockFreqsPtr, other.m_value.DeviceCurrentClockFreqsPtr, sizeof(*m_value.DeviceCurrentClockFreqsPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_DEVICECURRENTCLOCKFREQS)
            {
                memcpy(m_value.DeviceCurrentClockFreqsPtr, &other.m_value.DeviceCurrentClockFreqs, sizeof(*m_value.DeviceCurrentClockFreqsPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_DEVICEGPURECOVERYACTION:
        {
            if (other.m_type == INJECTION_DEVICEGPURECOVERYACTION)
            {
                memcpy(&m_value.DeviceGpuRecoveryAction, &other.m_value.DeviceGpuRecoveryAction, sizeof(*&m_value.DeviceGpuRecoveryAction));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_DEVICEGPURECOVERYACTION_PTR)
            {
                memcpy(&m_value.DeviceGpuRecoveryAction, other.m_value.DeviceGpuRecoveryActionPtr, sizeof(*&m_value.DeviceGpuRecoveryAction));
                set = true;
            }
            break;
        }
        case INJECTION_DEVICEGPURECOVERYACTION_PTR:
        {
            if (other.m_type == INJECTION_DEVICEGPURECOVERYACTION_PTR)
            {
                memcpy(m_value.DeviceGpuRecoveryActionPtr, other.m_value.DeviceGpuRecoveryActionPtr, sizeof(*m_value.DeviceGpuRecoveryActionPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_DEVICEGPURECOVERYACTION)
            {
                memcpy(m_value.DeviceGpuRecoveryActionPtr, &other.m_value.DeviceGpuRecoveryAction, sizeof(*m_value.DeviceGpuRecoveryActionPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_DEVICEPERFMODES:
        {
            if (other.m_type == INJECTION_DEVICEPERFMODES)
            {
                memcpy(&m_value.DevicePerfModes, &other.m_value.DevicePerfModes, sizeof(*&m_value.DevicePerfModes));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_DEVICEPERFMODES_PTR)
            {
                memcpy(&m_value.DevicePerfModes, other.m_value.DevicePerfModesPtr, sizeof(*&m_value.DevicePerfModes));
                set = true;
            }
            break;
        }
        case INJECTION_DEVICEPERFMODES_PTR:
        {
            if (other.m_type == INJECTION_DEVICEPERFMODES_PTR)
            {
                memcpy(m_value.DevicePerfModesPtr, other.m_value.DevicePerfModesPtr, sizeof(*m_value.DevicePerfModesPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_DEVICEPERFMODES)
            {
                memcpy(m_value.DevicePerfModesPtr, &other.m_value.DevicePerfModes, sizeof(*m_value.DevicePerfModesPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_DEVICEVGPUCAPABILITY:
        {
            if (other.m_type == INJECTION_DEVICEVGPUCAPABILITY)
            {
                memcpy(&m_value.DeviceVgpuCapability, &other.m_value.DeviceVgpuCapability, sizeof(*&m_value.DeviceVgpuCapability));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_DEVICEVGPUCAPABILITY_PTR)
            {
                memcpy(&m_value.DeviceVgpuCapability, other.m_value.DeviceVgpuCapabilityPtr, sizeof(*&m_value.DeviceVgpuCapability));
                set = true;
            }
            break;
        }
        case INJECTION_DEVICEVGPUCAPABILITY_PTR:
        {
            if (other.m_type == INJECTION_DEVICEVGPUCAPABILITY_PTR)
            {
                memcpy(m_value.DeviceVgpuCapabilityPtr, other.m_value.DeviceVgpuCapabilityPtr, sizeof(*m_value.DeviceVgpuCapabilityPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_DEVICEVGPUCAPABILITY)
            {
                memcpy(m_value.DeviceVgpuCapabilityPtr, &other.m_value.DeviceVgpuCapability, sizeof(*m_value.DeviceVgpuCapabilityPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_DEVICE:
        {
            if (other.m_type == INJECTION_DEVICE)
            {
                memcpy(&m_value.Device, &other.m_value.Device, sizeof(*&m_value.Device));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_DEVICE_PTR)
            {
                memcpy(&m_value.Device, other.m_value.DevicePtr, sizeof(*&m_value.Device));
                set = true;
            }
            break;
        }
        case INJECTION_DEVICE_PTR:
        {
            if (other.m_type == INJECTION_DEVICE_PTR)
            {
                memcpy(m_value.DevicePtr, other.m_value.DevicePtr, sizeof(*m_value.DevicePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_DEVICE)
            {
                memcpy(m_value.DevicePtr, &other.m_value.Device, sizeof(*m_value.DevicePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_DRIVERMODEL:
        {
            if (other.m_type == INJECTION_DRIVERMODEL)
            {
                memcpy(&m_value.DriverModel, &other.m_value.DriverModel, sizeof(*&m_value.DriverModel));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_DRIVERMODEL_PTR)
            {
                memcpy(&m_value.DriverModel, other.m_value.DriverModelPtr, sizeof(*&m_value.DriverModel));
                set = true;
            }
            break;
        }
        case INJECTION_DRIVERMODEL_PTR:
        {
            if (other.m_type == INJECTION_DRIVERMODEL_PTR)
            {
                memcpy(m_value.DriverModelPtr, other.m_value.DriverModelPtr, sizeof(*m_value.DriverModelPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_DRIVERMODEL)
            {
                memcpy(m_value.DriverModelPtr, &other.m_value.DriverModel, sizeof(*m_value.DriverModelPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_ECCCOUNTERTYPE:
        {
            if (other.m_type == INJECTION_ECCCOUNTERTYPE)
            {
                memcpy(&m_value.EccCounterType, &other.m_value.EccCounterType, sizeof(*&m_value.EccCounterType));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_ECCCOUNTERTYPE_PTR)
            {
                memcpy(&m_value.EccCounterType, other.m_value.EccCounterTypePtr, sizeof(*&m_value.EccCounterType));
                set = true;
            }
            break;
        }
        case INJECTION_ECCCOUNTERTYPE_PTR:
        {
            if (other.m_type == INJECTION_ECCCOUNTERTYPE_PTR)
            {
                memcpy(m_value.EccCounterTypePtr, other.m_value.EccCounterTypePtr, sizeof(*m_value.EccCounterTypePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_ECCCOUNTERTYPE)
            {
                memcpy(m_value.EccCounterTypePtr, &other.m_value.EccCounterType, sizeof(*m_value.EccCounterTypePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_ECCERRORCOUNTS:
        {
            if (other.m_type == INJECTION_ECCERRORCOUNTS)
            {
                memcpy(&m_value.EccErrorCounts, &other.m_value.EccErrorCounts, sizeof(*&m_value.EccErrorCounts));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_ECCERRORCOUNTS_PTR)
            {
                memcpy(&m_value.EccErrorCounts, other.m_value.EccErrorCountsPtr, sizeof(*&m_value.EccErrorCounts));
                set = true;
            }
            break;
        }
        case INJECTION_ECCERRORCOUNTS_PTR:
        {
            if (other.m_type == INJECTION_ECCERRORCOUNTS_PTR)
            {
                memcpy(m_value.EccErrorCountsPtr, other.m_value.EccErrorCountsPtr, sizeof(*m_value.EccErrorCountsPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_ECCERRORCOUNTS)
            {
                memcpy(m_value.EccErrorCountsPtr, &other.m_value.EccErrorCounts, sizeof(*m_value.EccErrorCountsPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_ECCSRAMERRORSTATUS:
        {
            if (other.m_type == INJECTION_ECCSRAMERRORSTATUS)
            {
                memcpy(&m_value.EccSramErrorStatus, &other.m_value.EccSramErrorStatus, sizeof(*&m_value.EccSramErrorStatus));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_ECCSRAMERRORSTATUS_PTR)
            {
                memcpy(&m_value.EccSramErrorStatus, other.m_value.EccSramErrorStatusPtr, sizeof(*&m_value.EccSramErrorStatus));
                set = true;
            }
            break;
        }
        case INJECTION_ECCSRAMERRORSTATUS_PTR:
        {
            if (other.m_type == INJECTION_ECCSRAMERRORSTATUS_PTR)
            {
                memcpy(m_value.EccSramErrorStatusPtr, other.m_value.EccSramErrorStatusPtr, sizeof(*m_value.EccSramErrorStatusPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_ECCSRAMERRORSTATUS)
            {
                memcpy(m_value.EccSramErrorStatusPtr, &other.m_value.EccSramErrorStatus, sizeof(*m_value.EccSramErrorStatusPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_ENABLESTATE:
        {
            if (other.m_type == INJECTION_ENABLESTATE)
            {
                memcpy(&m_value.EnableState, &other.m_value.EnableState, sizeof(*&m_value.EnableState));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_ENABLESTATE_PTR)
            {
                memcpy(&m_value.EnableState, other.m_value.EnableStatePtr, sizeof(*&m_value.EnableState));
                set = true;
            }
            break;
        }
        case INJECTION_ENABLESTATE_PTR:
        {
            if (other.m_type == INJECTION_ENABLESTATE_PTR)
            {
                memcpy(m_value.EnableStatePtr, other.m_value.EnableStatePtr, sizeof(*m_value.EnableStatePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_ENABLESTATE)
            {
                memcpy(m_value.EnableStatePtr, &other.m_value.EnableState, sizeof(*m_value.EnableStatePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_ENCODERSESSIONINFO:
        {
            if (other.m_type == INJECTION_ENCODERSESSIONINFO)
            {
                memcpy(&m_value.EncoderSessionInfo, &other.m_value.EncoderSessionInfo, sizeof(*&m_value.EncoderSessionInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_ENCODERSESSIONINFO_PTR)
            {
                memcpy(&m_value.EncoderSessionInfo, other.m_value.EncoderSessionInfoPtr, sizeof(*&m_value.EncoderSessionInfo));
                set = true;
            }
            break;
        }
        case INJECTION_ENCODERSESSIONINFO_PTR:
        {
            if (other.m_type == INJECTION_ENCODERSESSIONINFO_PTR)
            {
                memcpy(m_value.EncoderSessionInfoPtr, other.m_value.EncoderSessionInfoPtr, sizeof(*m_value.EncoderSessionInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_ENCODERSESSIONINFO)
            {
                memcpy(m_value.EncoderSessionInfoPtr, &other.m_value.EncoderSessionInfo, sizeof(*m_value.EncoderSessionInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_ENCODERTYPE:
        {
            if (other.m_type == INJECTION_ENCODERTYPE)
            {
                memcpy(&m_value.EncoderType, &other.m_value.EncoderType, sizeof(*&m_value.EncoderType));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_ENCODERTYPE_PTR)
            {
                memcpy(&m_value.EncoderType, other.m_value.EncoderTypePtr, sizeof(*&m_value.EncoderType));
                set = true;
            }
            break;
        }
        case INJECTION_ENCODERTYPE_PTR:
        {
            if (other.m_type == INJECTION_ENCODERTYPE_PTR)
            {
                memcpy(m_value.EncoderTypePtr, other.m_value.EncoderTypePtr, sizeof(*m_value.EncoderTypePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_ENCODERTYPE)
            {
                memcpy(m_value.EncoderTypePtr, &other.m_value.EncoderType, sizeof(*m_value.EncoderTypePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_EVENTDATA:
        {
            if (other.m_type == INJECTION_EVENTDATA)
            {
                memcpy(&m_value.EventData, &other.m_value.EventData, sizeof(*&m_value.EventData));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_EVENTDATA_PTR)
            {
                memcpy(&m_value.EventData, other.m_value.EventDataPtr, sizeof(*&m_value.EventData));
                set = true;
            }
            break;
        }
        case INJECTION_EVENTDATA_PTR:
        {
            if (other.m_type == INJECTION_EVENTDATA_PTR)
            {
                memcpy(m_value.EventDataPtr, other.m_value.EventDataPtr, sizeof(*m_value.EventDataPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_EVENTDATA)
            {
                memcpy(m_value.EventDataPtr, &other.m_value.EventData, sizeof(*m_value.EventDataPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_EVENTSET:
        {
            if (other.m_type == INJECTION_EVENTSET)
            {
                memcpy(&m_value.EventSet, &other.m_value.EventSet, sizeof(*&m_value.EventSet));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_EVENTSET_PTR)
            {
                memcpy(&m_value.EventSet, other.m_value.EventSetPtr, sizeof(*&m_value.EventSet));
                set = true;
            }
            break;
        }
        case INJECTION_EVENTSET_PTR:
        {
            if (other.m_type == INJECTION_EVENTSET_PTR)
            {
                memcpy(m_value.EventSetPtr, other.m_value.EventSetPtr, sizeof(*m_value.EventSetPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_EVENTSET)
            {
                memcpy(m_value.EventSetPtr, &other.m_value.EventSet, sizeof(*m_value.EventSetPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_EXCLUDEDDEVICEINFO:
        {
            if (other.m_type == INJECTION_EXCLUDEDDEVICEINFO)
            {
                memcpy(&m_value.ExcludedDeviceInfo, &other.m_value.ExcludedDeviceInfo, sizeof(*&m_value.ExcludedDeviceInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_EXCLUDEDDEVICEINFO_PTR)
            {
                memcpy(&m_value.ExcludedDeviceInfo, other.m_value.ExcludedDeviceInfoPtr, sizeof(*&m_value.ExcludedDeviceInfo));
                set = true;
            }
            break;
        }
        case INJECTION_EXCLUDEDDEVICEINFO_PTR:
        {
            if (other.m_type == INJECTION_EXCLUDEDDEVICEINFO_PTR)
            {
                memcpy(m_value.ExcludedDeviceInfoPtr, other.m_value.ExcludedDeviceInfoPtr, sizeof(*m_value.ExcludedDeviceInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_EXCLUDEDDEVICEINFO)
            {
                memcpy(m_value.ExcludedDeviceInfoPtr, &other.m_value.ExcludedDeviceInfo, sizeof(*m_value.ExcludedDeviceInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_FBCSESSIONINFO:
        {
            if (other.m_type == INJECTION_FBCSESSIONINFO)
            {
                memcpy(&m_value.FBCSessionInfo, &other.m_value.FBCSessionInfo, sizeof(*&m_value.FBCSessionInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_FBCSESSIONINFO_PTR)
            {
                memcpy(&m_value.FBCSessionInfo, other.m_value.FBCSessionInfoPtr, sizeof(*&m_value.FBCSessionInfo));
                set = true;
            }
            break;
        }
        case INJECTION_FBCSESSIONINFO_PTR:
        {
            if (other.m_type == INJECTION_FBCSESSIONINFO_PTR)
            {
                memcpy(m_value.FBCSessionInfoPtr, other.m_value.FBCSessionInfoPtr, sizeof(*m_value.FBCSessionInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_FBCSESSIONINFO)
            {
                memcpy(m_value.FBCSessionInfoPtr, &other.m_value.FBCSessionInfo, sizeof(*m_value.FBCSessionInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_FBCSESSIONTYPE:
        {
            if (other.m_type == INJECTION_FBCSESSIONTYPE)
            {
                memcpy(&m_value.FBCSessionType, &other.m_value.FBCSessionType, sizeof(*&m_value.FBCSessionType));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_FBCSESSIONTYPE_PTR)
            {
                memcpy(&m_value.FBCSessionType, other.m_value.FBCSessionTypePtr, sizeof(*&m_value.FBCSessionType));
                set = true;
            }
            break;
        }
        case INJECTION_FBCSESSIONTYPE_PTR:
        {
            if (other.m_type == INJECTION_FBCSESSIONTYPE_PTR)
            {
                memcpy(m_value.FBCSessionTypePtr, other.m_value.FBCSessionTypePtr, sizeof(*m_value.FBCSessionTypePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_FBCSESSIONTYPE)
            {
                memcpy(m_value.FBCSessionTypePtr, &other.m_value.FBCSessionType, sizeof(*m_value.FBCSessionTypePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_FBCSTATS:
        {
            if (other.m_type == INJECTION_FBCSTATS)
            {
                memcpy(&m_value.FBCStats, &other.m_value.FBCStats, sizeof(*&m_value.FBCStats));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_FBCSTATS_PTR)
            {
                memcpy(&m_value.FBCStats, other.m_value.FBCStatsPtr, sizeof(*&m_value.FBCStats));
                set = true;
            }
            break;
        }
        case INJECTION_FBCSTATS_PTR:
        {
            if (other.m_type == INJECTION_FBCSTATS_PTR)
            {
                memcpy(m_value.FBCStatsPtr, other.m_value.FBCStatsPtr, sizeof(*m_value.FBCStatsPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_FBCSTATS)
            {
                memcpy(m_value.FBCStatsPtr, &other.m_value.FBCStats, sizeof(*m_value.FBCStatsPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_FANCONTROLPOLICY:
        {
            if (other.m_type == INJECTION_FANCONTROLPOLICY)
            {
                memcpy(&m_value.FanControlPolicy, &other.m_value.FanControlPolicy, sizeof(*&m_value.FanControlPolicy));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_FANCONTROLPOLICY_PTR)
            {
                memcpy(&m_value.FanControlPolicy, other.m_value.FanControlPolicyPtr, sizeof(*&m_value.FanControlPolicy));
                set = true;
            }
            break;
        }
        case INJECTION_FANCONTROLPOLICY_PTR:
        {
            if (other.m_type == INJECTION_FANCONTROLPOLICY_PTR)
            {
                memcpy(m_value.FanControlPolicyPtr, other.m_value.FanControlPolicyPtr, sizeof(*m_value.FanControlPolicyPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_FANCONTROLPOLICY)
            {
                memcpy(m_value.FanControlPolicyPtr, &other.m_value.FanControlPolicy, sizeof(*m_value.FanControlPolicyPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_FANSPEEDINFO:
        {
            if (other.m_type == INJECTION_FANSPEEDINFO)
            {
                memcpy(&m_value.FanSpeedInfo, &other.m_value.FanSpeedInfo, sizeof(*&m_value.FanSpeedInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_FANSPEEDINFO_PTR)
            {
                memcpy(&m_value.FanSpeedInfo, other.m_value.FanSpeedInfoPtr, sizeof(*&m_value.FanSpeedInfo));
                set = true;
            }
            break;
        }
        case INJECTION_FANSPEEDINFO_PTR:
        {
            if (other.m_type == INJECTION_FANSPEEDINFO_PTR)
            {
                memcpy(m_value.FanSpeedInfoPtr, other.m_value.FanSpeedInfoPtr, sizeof(*m_value.FanSpeedInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_FANSPEEDINFO)
            {
                memcpy(m_value.FanSpeedInfoPtr, &other.m_value.FanSpeedInfo, sizeof(*m_value.FanSpeedInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_FANSTATE:
        {
            if (other.m_type == INJECTION_FANSTATE)
            {
                memcpy(&m_value.FanState, &other.m_value.FanState, sizeof(*&m_value.FanState));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_FANSTATE_PTR)
            {
                memcpy(&m_value.FanState, other.m_value.FanStatePtr, sizeof(*&m_value.FanState));
                set = true;
            }
            break;
        }
        case INJECTION_FANSTATE_PTR:
        {
            if (other.m_type == INJECTION_FANSTATE_PTR)
            {
                memcpy(m_value.FanStatePtr, other.m_value.FanStatePtr, sizeof(*m_value.FanStatePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_FANSTATE)
            {
                memcpy(m_value.FanStatePtr, &other.m_value.FanState, sizeof(*m_value.FanStatePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_FIELDVALUE:
        {
            if (other.m_type == INJECTION_FIELDVALUE)
            {
                memcpy(&m_value.FieldValue, &other.m_value.FieldValue, sizeof(*&m_value.FieldValue));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_FIELDVALUE_PTR)
            {
                memcpy(&m_value.FieldValue, other.m_value.FieldValuePtr, sizeof(*&m_value.FieldValue));
                set = true;
            }
            break;
        }
        case INJECTION_FIELDVALUE_PTR:
        {
            if (other.m_type == INJECTION_FIELDVALUE_PTR)
            {
                memcpy(m_value.FieldValuePtr, other.m_value.FieldValuePtr, sizeof(*m_value.FieldValuePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_FIELDVALUE)
            {
                memcpy(m_value.FieldValuePtr, &other.m_value.FieldValue, sizeof(*m_value.FieldValuePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GPMMETRICID:
        {
            if (other.m_type == INJECTION_GPMMETRICID)
            {
                memcpy(&m_value.GpmMetricId, &other.m_value.GpmMetricId, sizeof(*&m_value.GpmMetricId));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPMMETRICID_PTR)
            {
                memcpy(&m_value.GpmMetricId, other.m_value.GpmMetricIdPtr, sizeof(*&m_value.GpmMetricId));
                set = true;
            }
            break;
        }
        case INJECTION_GPMMETRICID_PTR:
        {
            if (other.m_type == INJECTION_GPMMETRICID_PTR)
            {
                memcpy(m_value.GpmMetricIdPtr, other.m_value.GpmMetricIdPtr, sizeof(*m_value.GpmMetricIdPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPMMETRICID)
            {
                memcpy(m_value.GpmMetricIdPtr, &other.m_value.GpmMetricId, sizeof(*m_value.GpmMetricIdPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GPMMETRIC:
        {
            if (other.m_type == INJECTION_GPMMETRIC)
            {
                memcpy(&m_value.GpmMetric, &other.m_value.GpmMetric, sizeof(*&m_value.GpmMetric));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPMMETRIC_PTR)
            {
                memcpy(&m_value.GpmMetric, other.m_value.GpmMetricPtr, sizeof(*&m_value.GpmMetric));
                set = true;
            }
            break;
        }
        case INJECTION_GPMMETRIC_PTR:
        {
            if (other.m_type == INJECTION_GPMMETRIC_PTR)
            {
                memcpy(m_value.GpmMetricPtr, other.m_value.GpmMetricPtr, sizeof(*m_value.GpmMetricPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPMMETRIC)
            {
                memcpy(m_value.GpmMetricPtr, &other.m_value.GpmMetric, sizeof(*m_value.GpmMetricPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GPMMETRICSGET:
        {
            if (other.m_type == INJECTION_GPMMETRICSGET)
            {
                memcpy(&m_value.GpmMetricsGet, &other.m_value.GpmMetricsGet, sizeof(*&m_value.GpmMetricsGet));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPMMETRICSGET_PTR)
            {
                memcpy(&m_value.GpmMetricsGet, other.m_value.GpmMetricsGetPtr, sizeof(*&m_value.GpmMetricsGet));
                set = true;
            }
            break;
        }
        case INJECTION_GPMMETRICSGET_PTR:
        {
            if (other.m_type == INJECTION_GPMMETRICSGET_PTR)
            {
                memcpy(m_value.GpmMetricsGetPtr, other.m_value.GpmMetricsGetPtr, sizeof(*m_value.GpmMetricsGetPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPMMETRICSGET)
            {
                memcpy(m_value.GpmMetricsGetPtr, &other.m_value.GpmMetricsGet, sizeof(*m_value.GpmMetricsGetPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GPMSAMPLE:
        {
            if (other.m_type == INJECTION_GPMSAMPLE)
            {
                memcpy(&m_value.GpmSample, &other.m_value.GpmSample, sizeof(*&m_value.GpmSample));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPMSAMPLE_PTR)
            {
                memcpy(&m_value.GpmSample, other.m_value.GpmSamplePtr, sizeof(*&m_value.GpmSample));
                set = true;
            }
            break;
        }
        case INJECTION_GPMSAMPLE_PTR:
        {
            if (other.m_type == INJECTION_GPMSAMPLE_PTR)
            {
                memcpy(m_value.GpmSamplePtr, other.m_value.GpmSamplePtr, sizeof(*m_value.GpmSamplePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPMSAMPLE)
            {
                memcpy(m_value.GpmSamplePtr, &other.m_value.GpmSample, sizeof(*m_value.GpmSamplePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GPMSUPPORT:
        {
            if (other.m_type == INJECTION_GPMSUPPORT)
            {
                memcpy(&m_value.GpmSupport, &other.m_value.GpmSupport, sizeof(*&m_value.GpmSupport));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPMSUPPORT_PTR)
            {
                memcpy(&m_value.GpmSupport, other.m_value.GpmSupportPtr, sizeof(*&m_value.GpmSupport));
                set = true;
            }
            break;
        }
        case INJECTION_GPMSUPPORT_PTR:
        {
            if (other.m_type == INJECTION_GPMSUPPORT_PTR)
            {
                memcpy(m_value.GpmSupportPtr, other.m_value.GpmSupportPtr, sizeof(*m_value.GpmSupportPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPMSUPPORT)
            {
                memcpy(m_value.GpmSupportPtr, &other.m_value.GpmSupport, sizeof(*m_value.GpmSupportPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GPUDYNAMICPSTATESINFO:
        {
            if (other.m_type == INJECTION_GPUDYNAMICPSTATESINFO)
            {
                memcpy(&m_value.GpuDynamicPstatesInfo, &other.m_value.GpuDynamicPstatesInfo, sizeof(*&m_value.GpuDynamicPstatesInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUDYNAMICPSTATESINFO_PTR)
            {
                memcpy(&m_value.GpuDynamicPstatesInfo, other.m_value.GpuDynamicPstatesInfoPtr, sizeof(*&m_value.GpuDynamicPstatesInfo));
                set = true;
            }
            break;
        }
        case INJECTION_GPUDYNAMICPSTATESINFO_PTR:
        {
            if (other.m_type == INJECTION_GPUDYNAMICPSTATESINFO_PTR)
            {
                memcpy(m_value.GpuDynamicPstatesInfoPtr, other.m_value.GpuDynamicPstatesInfoPtr, sizeof(*m_value.GpuDynamicPstatesInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUDYNAMICPSTATESINFO)
            {
                memcpy(m_value.GpuDynamicPstatesInfoPtr, &other.m_value.GpuDynamicPstatesInfo, sizeof(*m_value.GpuDynamicPstatesInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GPUFABRICINFOV:
        {
            if (other.m_type == INJECTION_GPUFABRICINFOV)
            {
                memcpy(&m_value.GpuFabricInfoV, &other.m_value.GpuFabricInfoV, sizeof(*&m_value.GpuFabricInfoV));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUFABRICINFOV_PTR)
            {
                memcpy(&m_value.GpuFabricInfoV, other.m_value.GpuFabricInfoVPtr, sizeof(*&m_value.GpuFabricInfoV));
                set = true;
            }
            break;
        }
        case INJECTION_GPUFABRICINFOV_PTR:
        {
            if (other.m_type == INJECTION_GPUFABRICINFOV_PTR)
            {
                memcpy(m_value.GpuFabricInfoVPtr, other.m_value.GpuFabricInfoVPtr, sizeof(*m_value.GpuFabricInfoVPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUFABRICINFOV)
            {
                memcpy(m_value.GpuFabricInfoVPtr, &other.m_value.GpuFabricInfoV, sizeof(*m_value.GpuFabricInfoVPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GPUFABRICINFO:
        {
            if (other.m_type == INJECTION_GPUFABRICINFO)
            {
                memcpy(&m_value.GpuFabricInfo, &other.m_value.GpuFabricInfo, sizeof(*&m_value.GpuFabricInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUFABRICINFO_PTR)
            {
                memcpy(&m_value.GpuFabricInfo, other.m_value.GpuFabricInfoPtr, sizeof(*&m_value.GpuFabricInfo));
                set = true;
            }
            break;
        }
        case INJECTION_GPUFABRICINFO_PTR:
        {
            if (other.m_type == INJECTION_GPUFABRICINFO_PTR)
            {
                memcpy(m_value.GpuFabricInfoPtr, other.m_value.GpuFabricInfoPtr, sizeof(*m_value.GpuFabricInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUFABRICINFO)
            {
                memcpy(m_value.GpuFabricInfoPtr, &other.m_value.GpuFabricInfo, sizeof(*m_value.GpuFabricInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GPUFABRICSTATE:
        {
            if (other.m_type == INJECTION_GPUFABRICSTATE)
            {
                memcpy(&m_value.GpuFabricState, &other.m_value.GpuFabricState, sizeof(*&m_value.GpuFabricState));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUFABRICSTATE_PTR)
            {
                memcpy(&m_value.GpuFabricState, other.m_value.GpuFabricStatePtr, sizeof(*&m_value.GpuFabricState));
                set = true;
            }
            break;
        }
        case INJECTION_GPUFABRICSTATE_PTR:
        {
            if (other.m_type == INJECTION_GPUFABRICSTATE_PTR)
            {
                memcpy(m_value.GpuFabricStatePtr, other.m_value.GpuFabricStatePtr, sizeof(*m_value.GpuFabricStatePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUFABRICSTATE)
            {
                memcpy(m_value.GpuFabricStatePtr, &other.m_value.GpuFabricState, sizeof(*m_value.GpuFabricStatePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GPUINSTANCEINFO:
        {
            if (other.m_type == INJECTION_GPUINSTANCEINFO)
            {
                memcpy(&m_value.GpuInstanceInfo, &other.m_value.GpuInstanceInfo, sizeof(*&m_value.GpuInstanceInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUINSTANCEINFO_PTR)
            {
                memcpy(&m_value.GpuInstanceInfo, other.m_value.GpuInstanceInfoPtr, sizeof(*&m_value.GpuInstanceInfo));
                set = true;
            }
            break;
        }
        case INJECTION_GPUINSTANCEINFO_PTR:
        {
            if (other.m_type == INJECTION_GPUINSTANCEINFO_PTR)
            {
                memcpy(m_value.GpuInstanceInfoPtr, other.m_value.GpuInstanceInfoPtr, sizeof(*m_value.GpuInstanceInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUINSTANCEINFO)
            {
                memcpy(m_value.GpuInstanceInfoPtr, &other.m_value.GpuInstanceInfo, sizeof(*m_value.GpuInstanceInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GPUINSTANCEPLACEMENT:
        {
            if (other.m_type == INJECTION_GPUINSTANCEPLACEMENT)
            {
                memcpy(&m_value.GpuInstancePlacement, &other.m_value.GpuInstancePlacement, sizeof(*&m_value.GpuInstancePlacement));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUINSTANCEPLACEMENT_PTR)
            {
                memcpy(&m_value.GpuInstancePlacement, other.m_value.GpuInstancePlacementPtr, sizeof(*&m_value.GpuInstancePlacement));
                set = true;
            }
            break;
        }
        case INJECTION_GPUINSTANCEPLACEMENT_PTR:
        {
            if (other.m_type == INJECTION_GPUINSTANCEPLACEMENT_PTR)
            {
                memcpy(m_value.GpuInstancePlacementPtr, other.m_value.GpuInstancePlacementPtr, sizeof(*m_value.GpuInstancePlacementPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUINSTANCEPLACEMENT)
            {
                memcpy(m_value.GpuInstancePlacementPtr, &other.m_value.GpuInstancePlacement, sizeof(*m_value.GpuInstancePlacementPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GPUINSTANCEPROFILEINFO:
        {
            if (other.m_type == INJECTION_GPUINSTANCEPROFILEINFO)
            {
                memcpy(&m_value.GpuInstanceProfileInfo, &other.m_value.GpuInstanceProfileInfo, sizeof(*&m_value.GpuInstanceProfileInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUINSTANCEPROFILEINFO_PTR)
            {
                memcpy(&m_value.GpuInstanceProfileInfo, other.m_value.GpuInstanceProfileInfoPtr, sizeof(*&m_value.GpuInstanceProfileInfo));
                set = true;
            }
            break;
        }
        case INJECTION_GPUINSTANCEPROFILEINFO_PTR:
        {
            if (other.m_type == INJECTION_GPUINSTANCEPROFILEINFO_PTR)
            {
                memcpy(m_value.GpuInstanceProfileInfoPtr, other.m_value.GpuInstanceProfileInfoPtr, sizeof(*m_value.GpuInstanceProfileInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUINSTANCEPROFILEINFO)
            {
                memcpy(m_value.GpuInstanceProfileInfoPtr, &other.m_value.GpuInstanceProfileInfo, sizeof(*m_value.GpuInstanceProfileInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GPUINSTANCEPROFILEINFO_V2:
        {
            if (other.m_type == INJECTION_GPUINSTANCEPROFILEINFO_V2)
            {
                memcpy(&m_value.GpuInstanceProfileInfo_v2, &other.m_value.GpuInstanceProfileInfo_v2, sizeof(*&m_value.GpuInstanceProfileInfo_v2));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUINSTANCEPROFILEINFO_V2_PTR)
            {
                memcpy(&m_value.GpuInstanceProfileInfo_v2, other.m_value.GpuInstanceProfileInfo_v2Ptr, sizeof(*&m_value.GpuInstanceProfileInfo_v2));
                set = true;
            }
            break;
        }
        case INJECTION_GPUINSTANCEPROFILEINFO_V2_PTR:
        {
            if (other.m_type == INJECTION_GPUINSTANCEPROFILEINFO_V2_PTR)
            {
                memcpy(m_value.GpuInstanceProfileInfo_v2Ptr, other.m_value.GpuInstanceProfileInfo_v2Ptr, sizeof(*m_value.GpuInstanceProfileInfo_v2Ptr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUINSTANCEPROFILEINFO_V2)
            {
                memcpy(m_value.GpuInstanceProfileInfo_v2Ptr, &other.m_value.GpuInstanceProfileInfo_v2, sizeof(*m_value.GpuInstanceProfileInfo_v2Ptr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GPUINSTANCEPROFILEINFO_V3:
        {
            if (other.m_type == INJECTION_GPUINSTANCEPROFILEINFO_V3)
            {
                memcpy(&m_value.GpuInstanceProfileInfo_v3, &other.m_value.GpuInstanceProfileInfo_v3, sizeof(*&m_value.GpuInstanceProfileInfo_v3));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUINSTANCEPROFILEINFO_V3_PTR)
            {
                memcpy(&m_value.GpuInstanceProfileInfo_v3, other.m_value.GpuInstanceProfileInfo_v3Ptr, sizeof(*&m_value.GpuInstanceProfileInfo_v3));
                set = true;
            }
            break;
        }
        case INJECTION_GPUINSTANCEPROFILEINFO_V3_PTR:
        {
            if (other.m_type == INJECTION_GPUINSTANCEPROFILEINFO_V3_PTR)
            {
                memcpy(m_value.GpuInstanceProfileInfo_v3Ptr, other.m_value.GpuInstanceProfileInfo_v3Ptr, sizeof(*m_value.GpuInstanceProfileInfo_v3Ptr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUINSTANCEPROFILEINFO_V3)
            {
                memcpy(m_value.GpuInstanceProfileInfo_v3Ptr, &other.m_value.GpuInstanceProfileInfo_v3, sizeof(*m_value.GpuInstanceProfileInfo_v3Ptr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GPUINSTANCE:
        {
            if (other.m_type == INJECTION_GPUINSTANCE)
            {
                memcpy(&m_value.GpuInstance, &other.m_value.GpuInstance, sizeof(*&m_value.GpuInstance));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUINSTANCE_PTR)
            {
                memcpy(&m_value.GpuInstance, other.m_value.GpuInstancePtr, sizeof(*&m_value.GpuInstance));
                set = true;
            }
            break;
        }
        case INJECTION_GPUINSTANCE_PTR:
        {
            if (other.m_type == INJECTION_GPUINSTANCE_PTR)
            {
                memcpy(m_value.GpuInstancePtr, other.m_value.GpuInstancePtr, sizeof(*m_value.GpuInstancePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUINSTANCE)
            {
                memcpy(m_value.GpuInstancePtr, &other.m_value.GpuInstance, sizeof(*m_value.GpuInstancePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GPUOPERATIONMODE:
        {
            if (other.m_type == INJECTION_GPUOPERATIONMODE)
            {
                memcpy(&m_value.GpuOperationMode, &other.m_value.GpuOperationMode, sizeof(*&m_value.GpuOperationMode));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUOPERATIONMODE_PTR)
            {
                memcpy(&m_value.GpuOperationMode, other.m_value.GpuOperationModePtr, sizeof(*&m_value.GpuOperationMode));
                set = true;
            }
            break;
        }
        case INJECTION_GPUOPERATIONMODE_PTR:
        {
            if (other.m_type == INJECTION_GPUOPERATIONMODE_PTR)
            {
                memcpy(m_value.GpuOperationModePtr, other.m_value.GpuOperationModePtr, sizeof(*m_value.GpuOperationModePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUOPERATIONMODE)
            {
                memcpy(m_value.GpuOperationModePtr, &other.m_value.GpuOperationMode, sizeof(*m_value.GpuOperationModePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GPUP2PCAPSINDEX:
        {
            if (other.m_type == INJECTION_GPUP2PCAPSINDEX)
            {
                memcpy(&m_value.GpuP2PCapsIndex, &other.m_value.GpuP2PCapsIndex, sizeof(*&m_value.GpuP2PCapsIndex));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUP2PCAPSINDEX_PTR)
            {
                memcpy(&m_value.GpuP2PCapsIndex, other.m_value.GpuP2PCapsIndexPtr, sizeof(*&m_value.GpuP2PCapsIndex));
                set = true;
            }
            break;
        }
        case INJECTION_GPUP2PCAPSINDEX_PTR:
        {
            if (other.m_type == INJECTION_GPUP2PCAPSINDEX_PTR)
            {
                memcpy(m_value.GpuP2PCapsIndexPtr, other.m_value.GpuP2PCapsIndexPtr, sizeof(*m_value.GpuP2PCapsIndexPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUP2PCAPSINDEX)
            {
                memcpy(m_value.GpuP2PCapsIndexPtr, &other.m_value.GpuP2PCapsIndex, sizeof(*m_value.GpuP2PCapsIndexPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GPUP2PSTATUS:
        {
            if (other.m_type == INJECTION_GPUP2PSTATUS)
            {
                memcpy(&m_value.GpuP2PStatus, &other.m_value.GpuP2PStatus, sizeof(*&m_value.GpuP2PStatus));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUP2PSTATUS_PTR)
            {
                memcpy(&m_value.GpuP2PStatus, other.m_value.GpuP2PStatusPtr, sizeof(*&m_value.GpuP2PStatus));
                set = true;
            }
            break;
        }
        case INJECTION_GPUP2PSTATUS_PTR:
        {
            if (other.m_type == INJECTION_GPUP2PSTATUS_PTR)
            {
                memcpy(m_value.GpuP2PStatusPtr, other.m_value.GpuP2PStatusPtr, sizeof(*m_value.GpuP2PStatusPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUP2PSTATUS)
            {
                memcpy(m_value.GpuP2PStatusPtr, &other.m_value.GpuP2PStatus, sizeof(*m_value.GpuP2PStatusPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GPUTHERMALSETTINGS:
        {
            if (other.m_type == INJECTION_GPUTHERMALSETTINGS)
            {
                memcpy(&m_value.GpuThermalSettings, &other.m_value.GpuThermalSettings, sizeof(*&m_value.GpuThermalSettings));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUTHERMALSETTINGS_PTR)
            {
                memcpy(&m_value.GpuThermalSettings, other.m_value.GpuThermalSettingsPtr, sizeof(*&m_value.GpuThermalSettings));
                set = true;
            }
            break;
        }
        case INJECTION_GPUTHERMALSETTINGS_PTR:
        {
            if (other.m_type == INJECTION_GPUTHERMALSETTINGS_PTR)
            {
                memcpy(m_value.GpuThermalSettingsPtr, other.m_value.GpuThermalSettingsPtr, sizeof(*m_value.GpuThermalSettingsPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUTHERMALSETTINGS)
            {
                memcpy(m_value.GpuThermalSettingsPtr, &other.m_value.GpuThermalSettings, sizeof(*m_value.GpuThermalSettingsPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GPUTOPOLOGYLEVEL:
        {
            if (other.m_type == INJECTION_GPUTOPOLOGYLEVEL)
            {
                memcpy(&m_value.GpuTopologyLevel, &other.m_value.GpuTopologyLevel, sizeof(*&m_value.GpuTopologyLevel));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUTOPOLOGYLEVEL_PTR)
            {
                memcpy(&m_value.GpuTopologyLevel, other.m_value.GpuTopologyLevelPtr, sizeof(*&m_value.GpuTopologyLevel));
                set = true;
            }
            break;
        }
        case INJECTION_GPUTOPOLOGYLEVEL_PTR:
        {
            if (other.m_type == INJECTION_GPUTOPOLOGYLEVEL_PTR)
            {
                memcpy(m_value.GpuTopologyLevelPtr, other.m_value.GpuTopologyLevelPtr, sizeof(*m_value.GpuTopologyLevelPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUTOPOLOGYLEVEL)
            {
                memcpy(m_value.GpuTopologyLevelPtr, &other.m_value.GpuTopologyLevel, sizeof(*m_value.GpuTopologyLevelPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GPUUTILIZATIONDOMAINID:
        {
            if (other.m_type == INJECTION_GPUUTILIZATIONDOMAINID)
            {
                memcpy(&m_value.GpuUtilizationDomainId, &other.m_value.GpuUtilizationDomainId, sizeof(*&m_value.GpuUtilizationDomainId));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUUTILIZATIONDOMAINID_PTR)
            {
                memcpy(&m_value.GpuUtilizationDomainId, other.m_value.GpuUtilizationDomainIdPtr, sizeof(*&m_value.GpuUtilizationDomainId));
                set = true;
            }
            break;
        }
        case INJECTION_GPUUTILIZATIONDOMAINID_PTR:
        {
            if (other.m_type == INJECTION_GPUUTILIZATIONDOMAINID_PTR)
            {
                memcpy(m_value.GpuUtilizationDomainIdPtr, other.m_value.GpuUtilizationDomainIdPtr, sizeof(*m_value.GpuUtilizationDomainIdPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUUTILIZATIONDOMAINID)
            {
                memcpy(m_value.GpuUtilizationDomainIdPtr, &other.m_value.GpuUtilizationDomainId, sizeof(*m_value.GpuUtilizationDomainIdPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GPUVIRTUALIZATIONMODE:
        {
            if (other.m_type == INJECTION_GPUVIRTUALIZATIONMODE)
            {
                memcpy(&m_value.GpuVirtualizationMode, &other.m_value.GpuVirtualizationMode, sizeof(*&m_value.GpuVirtualizationMode));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUVIRTUALIZATIONMODE_PTR)
            {
                memcpy(&m_value.GpuVirtualizationMode, other.m_value.GpuVirtualizationModePtr, sizeof(*&m_value.GpuVirtualizationMode));
                set = true;
            }
            break;
        }
        case INJECTION_GPUVIRTUALIZATIONMODE_PTR:
        {
            if (other.m_type == INJECTION_GPUVIRTUALIZATIONMODE_PTR)
            {
                memcpy(m_value.GpuVirtualizationModePtr, other.m_value.GpuVirtualizationModePtr, sizeof(*m_value.GpuVirtualizationModePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GPUVIRTUALIZATIONMODE)
            {
                memcpy(m_value.GpuVirtualizationModePtr, &other.m_value.GpuVirtualizationMode, sizeof(*m_value.GpuVirtualizationModePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GRIDLICENSABLEFEATURE:
        {
            if (other.m_type == INJECTION_GRIDLICENSABLEFEATURE)
            {
                memcpy(&m_value.GridLicensableFeature, &other.m_value.GridLicensableFeature, sizeof(*&m_value.GridLicensableFeature));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GRIDLICENSABLEFEATURE_PTR)
            {
                memcpy(&m_value.GridLicensableFeature, other.m_value.GridLicensableFeaturePtr, sizeof(*&m_value.GridLicensableFeature));
                set = true;
            }
            break;
        }
        case INJECTION_GRIDLICENSABLEFEATURE_PTR:
        {
            if (other.m_type == INJECTION_GRIDLICENSABLEFEATURE_PTR)
            {
                memcpy(m_value.GridLicensableFeaturePtr, other.m_value.GridLicensableFeaturePtr, sizeof(*m_value.GridLicensableFeaturePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GRIDLICENSABLEFEATURE)
            {
                memcpy(m_value.GridLicensableFeaturePtr, &other.m_value.GridLicensableFeature, sizeof(*m_value.GridLicensableFeaturePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GRIDLICENSABLEFEATURES:
        {
            if (other.m_type == INJECTION_GRIDLICENSABLEFEATURES)
            {
                memcpy(&m_value.GridLicensableFeatures, &other.m_value.GridLicensableFeatures, sizeof(*&m_value.GridLicensableFeatures));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GRIDLICENSABLEFEATURES_PTR)
            {
                memcpy(&m_value.GridLicensableFeatures, other.m_value.GridLicensableFeaturesPtr, sizeof(*&m_value.GridLicensableFeatures));
                set = true;
            }
            break;
        }
        case INJECTION_GRIDLICENSABLEFEATURES_PTR:
        {
            if (other.m_type == INJECTION_GRIDLICENSABLEFEATURES_PTR)
            {
                memcpy(m_value.GridLicensableFeaturesPtr, other.m_value.GridLicensableFeaturesPtr, sizeof(*m_value.GridLicensableFeaturesPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GRIDLICENSABLEFEATURES)
            {
                memcpy(m_value.GridLicensableFeaturesPtr, &other.m_value.GridLicensableFeatures, sizeof(*m_value.GridLicensableFeaturesPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GRIDLICENSEEXPIRY:
        {
            if (other.m_type == INJECTION_GRIDLICENSEEXPIRY)
            {
                memcpy(&m_value.GridLicenseExpiry, &other.m_value.GridLicenseExpiry, sizeof(*&m_value.GridLicenseExpiry));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GRIDLICENSEEXPIRY_PTR)
            {
                memcpy(&m_value.GridLicenseExpiry, other.m_value.GridLicenseExpiryPtr, sizeof(*&m_value.GridLicenseExpiry));
                set = true;
            }
            break;
        }
        case INJECTION_GRIDLICENSEEXPIRY_PTR:
        {
            if (other.m_type == INJECTION_GRIDLICENSEEXPIRY_PTR)
            {
                memcpy(m_value.GridLicenseExpiryPtr, other.m_value.GridLicenseExpiryPtr, sizeof(*m_value.GridLicenseExpiryPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GRIDLICENSEEXPIRY)
            {
                memcpy(m_value.GridLicenseExpiryPtr, &other.m_value.GridLicenseExpiry, sizeof(*m_value.GridLicenseExpiryPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_GRIDLICENSEFEATURECODE:
        {
            if (other.m_type == INJECTION_GRIDLICENSEFEATURECODE)
            {
                memcpy(&m_value.GridLicenseFeatureCode, &other.m_value.GridLicenseFeatureCode, sizeof(*&m_value.GridLicenseFeatureCode));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GRIDLICENSEFEATURECODE_PTR)
            {
                memcpy(&m_value.GridLicenseFeatureCode, other.m_value.GridLicenseFeatureCodePtr, sizeof(*&m_value.GridLicenseFeatureCode));
                set = true;
            }
            break;
        }
        case INJECTION_GRIDLICENSEFEATURECODE_PTR:
        {
            if (other.m_type == INJECTION_GRIDLICENSEFEATURECODE_PTR)
            {
                memcpy(m_value.GridLicenseFeatureCodePtr, other.m_value.GridLicenseFeatureCodePtr, sizeof(*m_value.GridLicenseFeatureCodePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_GRIDLICENSEFEATURECODE)
            {
                memcpy(m_value.GridLicenseFeatureCodePtr, &other.m_value.GridLicenseFeatureCode, sizeof(*m_value.GridLicenseFeatureCodePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_HOSTVGPUMODE:
        {
            if (other.m_type == INJECTION_HOSTVGPUMODE)
            {
                memcpy(&m_value.HostVgpuMode, &other.m_value.HostVgpuMode, sizeof(*&m_value.HostVgpuMode));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_HOSTVGPUMODE_PTR)
            {
                memcpy(&m_value.HostVgpuMode, other.m_value.HostVgpuModePtr, sizeof(*&m_value.HostVgpuMode));
                set = true;
            }
            break;
        }
        case INJECTION_HOSTVGPUMODE_PTR:
        {
            if (other.m_type == INJECTION_HOSTVGPUMODE_PTR)
            {
                memcpy(m_value.HostVgpuModePtr, other.m_value.HostVgpuModePtr, sizeof(*m_value.HostVgpuModePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_HOSTVGPUMODE)
            {
                memcpy(m_value.HostVgpuModePtr, &other.m_value.HostVgpuMode, sizeof(*m_value.HostVgpuModePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_HWBCENTRY:
        {
            if (other.m_type == INJECTION_HWBCENTRY)
            {
                memcpy(&m_value.HwbcEntry, &other.m_value.HwbcEntry, sizeof(*&m_value.HwbcEntry));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_HWBCENTRY_PTR)
            {
                memcpy(&m_value.HwbcEntry, other.m_value.HwbcEntryPtr, sizeof(*&m_value.HwbcEntry));
                set = true;
            }
            break;
        }
        case INJECTION_HWBCENTRY_PTR:
        {
            if (other.m_type == INJECTION_HWBCENTRY_PTR)
            {
                memcpy(m_value.HwbcEntryPtr, other.m_value.HwbcEntryPtr, sizeof(*m_value.HwbcEntryPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_HWBCENTRY)
            {
                memcpy(m_value.HwbcEntryPtr, &other.m_value.HwbcEntry, sizeof(*m_value.HwbcEntryPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_INFOROMOBJECT:
        {
            if (other.m_type == INJECTION_INFOROMOBJECT)
            {
                memcpy(&m_value.InforomObject, &other.m_value.InforomObject, sizeof(*&m_value.InforomObject));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_INFOROMOBJECT_PTR)
            {
                memcpy(&m_value.InforomObject, other.m_value.InforomObjectPtr, sizeof(*&m_value.InforomObject));
                set = true;
            }
            break;
        }
        case INJECTION_INFOROMOBJECT_PTR:
        {
            if (other.m_type == INJECTION_INFOROMOBJECT_PTR)
            {
                memcpy(m_value.InforomObjectPtr, other.m_value.InforomObjectPtr, sizeof(*m_value.InforomObjectPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_INFOROMOBJECT)
            {
                memcpy(m_value.InforomObjectPtr, &other.m_value.InforomObject, sizeof(*m_value.InforomObjectPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_INTNVLINKDEVICETYPE:
        {
            if (other.m_type == INJECTION_INTNVLINKDEVICETYPE)
            {
                memcpy(&m_value.IntNvLinkDeviceType, &other.m_value.IntNvLinkDeviceType, sizeof(*&m_value.IntNvLinkDeviceType));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_INTNVLINKDEVICETYPE_PTR)
            {
                memcpy(&m_value.IntNvLinkDeviceType, other.m_value.IntNvLinkDeviceTypePtr, sizeof(*&m_value.IntNvLinkDeviceType));
                set = true;
            }
            break;
        }
        case INJECTION_INTNVLINKDEVICETYPE_PTR:
        {
            if (other.m_type == INJECTION_INTNVLINKDEVICETYPE_PTR)
            {
                memcpy(m_value.IntNvLinkDeviceTypePtr, other.m_value.IntNvLinkDeviceTypePtr, sizeof(*m_value.IntNvLinkDeviceTypePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_INTNVLINKDEVICETYPE)
            {
                memcpy(m_value.IntNvLinkDeviceTypePtr, &other.m_value.IntNvLinkDeviceType, sizeof(*m_value.IntNvLinkDeviceTypePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_LEDCOLOR:
        {
            if (other.m_type == INJECTION_LEDCOLOR)
            {
                memcpy(&m_value.LedColor, &other.m_value.LedColor, sizeof(*&m_value.LedColor));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_LEDCOLOR_PTR)
            {
                memcpy(&m_value.LedColor, other.m_value.LedColorPtr, sizeof(*&m_value.LedColor));
                set = true;
            }
            break;
        }
        case INJECTION_LEDCOLOR_PTR:
        {
            if (other.m_type == INJECTION_LEDCOLOR_PTR)
            {
                memcpy(m_value.LedColorPtr, other.m_value.LedColorPtr, sizeof(*m_value.LedColorPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_LEDCOLOR)
            {
                memcpy(m_value.LedColorPtr, &other.m_value.LedColor, sizeof(*m_value.LedColorPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_LEDSTATE:
        {
            if (other.m_type == INJECTION_LEDSTATE)
            {
                memcpy(&m_value.LedState, &other.m_value.LedState, sizeof(*&m_value.LedState));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_LEDSTATE_PTR)
            {
                memcpy(&m_value.LedState, other.m_value.LedStatePtr, sizeof(*&m_value.LedState));
                set = true;
            }
            break;
        }
        case INJECTION_LEDSTATE_PTR:
        {
            if (other.m_type == INJECTION_LEDSTATE_PTR)
            {
                memcpy(m_value.LedStatePtr, other.m_value.LedStatePtr, sizeof(*m_value.LedStatePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_LEDSTATE)
            {
                memcpy(m_value.LedStatePtr, &other.m_value.LedState, sizeof(*m_value.LedStatePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_MARGINTEMPERATURE:
        {
            if (other.m_type == INJECTION_MARGINTEMPERATURE)
            {
                memcpy(&m_value.MarginTemperature, &other.m_value.MarginTemperature, sizeof(*&m_value.MarginTemperature));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_MARGINTEMPERATURE_PTR)
            {
                memcpy(&m_value.MarginTemperature, other.m_value.MarginTemperaturePtr, sizeof(*&m_value.MarginTemperature));
                set = true;
            }
            break;
        }
        case INJECTION_MARGINTEMPERATURE_PTR:
        {
            if (other.m_type == INJECTION_MARGINTEMPERATURE_PTR)
            {
                memcpy(m_value.MarginTemperaturePtr, other.m_value.MarginTemperaturePtr, sizeof(*m_value.MarginTemperaturePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_MARGINTEMPERATURE)
            {
                memcpy(m_value.MarginTemperaturePtr, &other.m_value.MarginTemperature, sizeof(*m_value.MarginTemperaturePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_MASK255:
        {
            if (other.m_type == INJECTION_MASK255)
            {
                memcpy(&m_value.Mask255, &other.m_value.Mask255, sizeof(*&m_value.Mask255));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_MASK255_PTR)
            {
                memcpy(&m_value.Mask255, other.m_value.Mask255Ptr, sizeof(*&m_value.Mask255));
                set = true;
            }
            break;
        }
        case INJECTION_MASK255_PTR:
        {
            if (other.m_type == INJECTION_MASK255_PTR)
            {
                memcpy(m_value.Mask255Ptr, other.m_value.Mask255Ptr, sizeof(*m_value.Mask255Ptr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_MASK255)
            {
                memcpy(m_value.Mask255Ptr, &other.m_value.Mask255, sizeof(*m_value.Mask255Ptr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_MEMORYERRORTYPE:
        {
            if (other.m_type == INJECTION_MEMORYERRORTYPE)
            {
                memcpy(&m_value.MemoryErrorType, &other.m_value.MemoryErrorType, sizeof(*&m_value.MemoryErrorType));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_MEMORYERRORTYPE_PTR)
            {
                memcpy(&m_value.MemoryErrorType, other.m_value.MemoryErrorTypePtr, sizeof(*&m_value.MemoryErrorType));
                set = true;
            }
            break;
        }
        case INJECTION_MEMORYERRORTYPE_PTR:
        {
            if (other.m_type == INJECTION_MEMORYERRORTYPE_PTR)
            {
                memcpy(m_value.MemoryErrorTypePtr, other.m_value.MemoryErrorTypePtr, sizeof(*m_value.MemoryErrorTypePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_MEMORYERRORTYPE)
            {
                memcpy(m_value.MemoryErrorTypePtr, &other.m_value.MemoryErrorType, sizeof(*m_value.MemoryErrorTypePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_MEMORYLOCATION:
        {
            if (other.m_type == INJECTION_MEMORYLOCATION)
            {
                memcpy(&m_value.MemoryLocation, &other.m_value.MemoryLocation, sizeof(*&m_value.MemoryLocation));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_MEMORYLOCATION_PTR)
            {
                memcpy(&m_value.MemoryLocation, other.m_value.MemoryLocationPtr, sizeof(*&m_value.MemoryLocation));
                set = true;
            }
            break;
        }
        case INJECTION_MEMORYLOCATION_PTR:
        {
            if (other.m_type == INJECTION_MEMORYLOCATION_PTR)
            {
                memcpy(m_value.MemoryLocationPtr, other.m_value.MemoryLocationPtr, sizeof(*m_value.MemoryLocationPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_MEMORYLOCATION)
            {
                memcpy(m_value.MemoryLocationPtr, &other.m_value.MemoryLocation, sizeof(*m_value.MemoryLocationPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_MEMORY:
        {
            if (other.m_type == INJECTION_MEMORY)
            {
                memcpy(&m_value.Memory, &other.m_value.Memory, sizeof(*&m_value.Memory));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_MEMORY_PTR)
            {
                memcpy(&m_value.Memory, other.m_value.MemoryPtr, sizeof(*&m_value.Memory));
                set = true;
            }
            break;
        }
        case INJECTION_MEMORY_PTR:
        {
            if (other.m_type == INJECTION_MEMORY_PTR)
            {
                memcpy(m_value.MemoryPtr, other.m_value.MemoryPtr, sizeof(*m_value.MemoryPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_MEMORY)
            {
                memcpy(m_value.MemoryPtr, &other.m_value.Memory, sizeof(*m_value.MemoryPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_MEMORY_V2:
        {
            if (other.m_type == INJECTION_MEMORY_V2)
            {
                memcpy(&m_value.Memory_v2, &other.m_value.Memory_v2, sizeof(*&m_value.Memory_v2));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_MEMORY_V2_PTR)
            {
                memcpy(&m_value.Memory_v2, other.m_value.Memory_v2Ptr, sizeof(*&m_value.Memory_v2));
                set = true;
            }
            break;
        }
        case INJECTION_MEMORY_V2_PTR:
        {
            if (other.m_type == INJECTION_MEMORY_V2_PTR)
            {
                memcpy(m_value.Memory_v2Ptr, other.m_value.Memory_v2Ptr, sizeof(*m_value.Memory_v2Ptr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_MEMORY_V2)
            {
                memcpy(m_value.Memory_v2Ptr, &other.m_value.Memory_v2, sizeof(*m_value.Memory_v2Ptr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_NVLINKCAPABILITY:
        {
            if (other.m_type == INJECTION_NVLINKCAPABILITY)
            {
                memcpy(&m_value.NvLinkCapability, &other.m_value.NvLinkCapability, sizeof(*&m_value.NvLinkCapability));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_NVLINKCAPABILITY_PTR)
            {
                memcpy(&m_value.NvLinkCapability, other.m_value.NvLinkCapabilityPtr, sizeof(*&m_value.NvLinkCapability));
                set = true;
            }
            break;
        }
        case INJECTION_NVLINKCAPABILITY_PTR:
        {
            if (other.m_type == INJECTION_NVLINKCAPABILITY_PTR)
            {
                memcpy(m_value.NvLinkCapabilityPtr, other.m_value.NvLinkCapabilityPtr, sizeof(*m_value.NvLinkCapabilityPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_NVLINKCAPABILITY)
            {
                memcpy(m_value.NvLinkCapabilityPtr, &other.m_value.NvLinkCapability, sizeof(*m_value.NvLinkCapabilityPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_NVLINKERRORCOUNTER:
        {
            if (other.m_type == INJECTION_NVLINKERRORCOUNTER)
            {
                memcpy(&m_value.NvLinkErrorCounter, &other.m_value.NvLinkErrorCounter, sizeof(*&m_value.NvLinkErrorCounter));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_NVLINKERRORCOUNTER_PTR)
            {
                memcpy(&m_value.NvLinkErrorCounter, other.m_value.NvLinkErrorCounterPtr, sizeof(*&m_value.NvLinkErrorCounter));
                set = true;
            }
            break;
        }
        case INJECTION_NVLINKERRORCOUNTER_PTR:
        {
            if (other.m_type == INJECTION_NVLINKERRORCOUNTER_PTR)
            {
                memcpy(m_value.NvLinkErrorCounterPtr, other.m_value.NvLinkErrorCounterPtr, sizeof(*m_value.NvLinkErrorCounterPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_NVLINKERRORCOUNTER)
            {
                memcpy(m_value.NvLinkErrorCounterPtr, &other.m_value.NvLinkErrorCounter, sizeof(*m_value.NvLinkErrorCounterPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_NVLINKPOWERTHRES:
        {
            if (other.m_type == INJECTION_NVLINKPOWERTHRES)
            {
                memcpy(&m_value.NvLinkPowerThres, &other.m_value.NvLinkPowerThres, sizeof(*&m_value.NvLinkPowerThres));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_NVLINKPOWERTHRES_PTR)
            {
                memcpy(&m_value.NvLinkPowerThres, other.m_value.NvLinkPowerThresPtr, sizeof(*&m_value.NvLinkPowerThres));
                set = true;
            }
            break;
        }
        case INJECTION_NVLINKPOWERTHRES_PTR:
        {
            if (other.m_type == INJECTION_NVLINKPOWERTHRES_PTR)
            {
                memcpy(m_value.NvLinkPowerThresPtr, other.m_value.NvLinkPowerThresPtr, sizeof(*m_value.NvLinkPowerThresPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_NVLINKPOWERTHRES)
            {
                memcpy(m_value.NvLinkPowerThresPtr, &other.m_value.NvLinkPowerThres, sizeof(*m_value.NvLinkPowerThresPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_NVLINKUTILIZATIONCONTROL:
        {
            if (other.m_type == INJECTION_NVLINKUTILIZATIONCONTROL)
            {
                memcpy(&m_value.NvLinkUtilizationControl, &other.m_value.NvLinkUtilizationControl, sizeof(*&m_value.NvLinkUtilizationControl));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_NVLINKUTILIZATIONCONTROL_PTR)
            {
                memcpy(&m_value.NvLinkUtilizationControl, other.m_value.NvLinkUtilizationControlPtr, sizeof(*&m_value.NvLinkUtilizationControl));
                set = true;
            }
            break;
        }
        case INJECTION_NVLINKUTILIZATIONCONTROL_PTR:
        {
            if (other.m_type == INJECTION_NVLINKUTILIZATIONCONTROL_PTR)
            {
                memcpy(m_value.NvLinkUtilizationControlPtr, other.m_value.NvLinkUtilizationControlPtr, sizeof(*m_value.NvLinkUtilizationControlPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_NVLINKUTILIZATIONCONTROL)
            {
                memcpy(m_value.NvLinkUtilizationControlPtr, &other.m_value.NvLinkUtilizationControl, sizeof(*m_value.NvLinkUtilizationControlPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_NVLINKUTILIZATIONCOUNTPKTTYPES:
        {
            if (other.m_type == INJECTION_NVLINKUTILIZATIONCOUNTPKTTYPES)
            {
                memcpy(&m_value.NvLinkUtilizationCountPktTypes, &other.m_value.NvLinkUtilizationCountPktTypes, sizeof(*&m_value.NvLinkUtilizationCountPktTypes));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_NVLINKUTILIZATIONCOUNTPKTTYPES_PTR)
            {
                memcpy(&m_value.NvLinkUtilizationCountPktTypes, other.m_value.NvLinkUtilizationCountPktTypesPtr, sizeof(*&m_value.NvLinkUtilizationCountPktTypes));
                set = true;
            }
            break;
        }
        case INJECTION_NVLINKUTILIZATIONCOUNTPKTTYPES_PTR:
        {
            if (other.m_type == INJECTION_NVLINKUTILIZATIONCOUNTPKTTYPES_PTR)
            {
                memcpy(m_value.NvLinkUtilizationCountPktTypesPtr, other.m_value.NvLinkUtilizationCountPktTypesPtr, sizeof(*m_value.NvLinkUtilizationCountPktTypesPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_NVLINKUTILIZATIONCOUNTPKTTYPES)
            {
                memcpy(m_value.NvLinkUtilizationCountPktTypesPtr, &other.m_value.NvLinkUtilizationCountPktTypes, sizeof(*m_value.NvLinkUtilizationCountPktTypesPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_NVLINKUTILIZATIONCOUNTUNITS:
        {
            if (other.m_type == INJECTION_NVLINKUTILIZATIONCOUNTUNITS)
            {
                memcpy(&m_value.NvLinkUtilizationCountUnits, &other.m_value.NvLinkUtilizationCountUnits, sizeof(*&m_value.NvLinkUtilizationCountUnits));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_NVLINKUTILIZATIONCOUNTUNITS_PTR)
            {
                memcpy(&m_value.NvLinkUtilizationCountUnits, other.m_value.NvLinkUtilizationCountUnitsPtr, sizeof(*&m_value.NvLinkUtilizationCountUnits));
                set = true;
            }
            break;
        }
        case INJECTION_NVLINKUTILIZATIONCOUNTUNITS_PTR:
        {
            if (other.m_type == INJECTION_NVLINKUTILIZATIONCOUNTUNITS_PTR)
            {
                memcpy(m_value.NvLinkUtilizationCountUnitsPtr, other.m_value.NvLinkUtilizationCountUnitsPtr, sizeof(*m_value.NvLinkUtilizationCountUnitsPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_NVLINKUTILIZATIONCOUNTUNITS)
            {
                memcpy(m_value.NvLinkUtilizationCountUnitsPtr, &other.m_value.NvLinkUtilizationCountUnits, sizeof(*m_value.NvLinkUtilizationCountUnitsPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_NVLINKVERSION:
        {
            if (other.m_type == INJECTION_NVLINKVERSION)
            {
                memcpy(&m_value.NvlinkVersion, &other.m_value.NvlinkVersion, sizeof(*&m_value.NvlinkVersion));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_NVLINKVERSION_PTR)
            {
                memcpy(&m_value.NvlinkVersion, other.m_value.NvlinkVersionPtr, sizeof(*&m_value.NvlinkVersion));
                set = true;
            }
            break;
        }
        case INJECTION_NVLINKVERSION_PTR:
        {
            if (other.m_type == INJECTION_NVLINKVERSION_PTR)
            {
                memcpy(m_value.NvlinkVersionPtr, other.m_value.NvlinkVersionPtr, sizeof(*m_value.NvlinkVersionPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_NVLINKVERSION)
            {
                memcpy(m_value.NvlinkVersionPtr, &other.m_value.NvlinkVersion, sizeof(*m_value.NvlinkVersionPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_PSUINFO:
        {
            if (other.m_type == INJECTION_PSUINFO)
            {
                memcpy(&m_value.PSUInfo, &other.m_value.PSUInfo, sizeof(*&m_value.PSUInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PSUINFO_PTR)
            {
                memcpy(&m_value.PSUInfo, other.m_value.PSUInfoPtr, sizeof(*&m_value.PSUInfo));
                set = true;
            }
            break;
        }
        case INJECTION_PSUINFO_PTR:
        {
            if (other.m_type == INJECTION_PSUINFO_PTR)
            {
                memcpy(m_value.PSUInfoPtr, other.m_value.PSUInfoPtr, sizeof(*m_value.PSUInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PSUINFO)
            {
                memcpy(m_value.PSUInfoPtr, &other.m_value.PSUInfo, sizeof(*m_value.PSUInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_PAGERETIREMENTCAUSE:
        {
            if (other.m_type == INJECTION_PAGERETIREMENTCAUSE)
            {
                memcpy(&m_value.PageRetirementCause, &other.m_value.PageRetirementCause, sizeof(*&m_value.PageRetirementCause));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PAGERETIREMENTCAUSE_PTR)
            {
                memcpy(&m_value.PageRetirementCause, other.m_value.PageRetirementCausePtr, sizeof(*&m_value.PageRetirementCause));
                set = true;
            }
            break;
        }
        case INJECTION_PAGERETIREMENTCAUSE_PTR:
        {
            if (other.m_type == INJECTION_PAGERETIREMENTCAUSE_PTR)
            {
                memcpy(m_value.PageRetirementCausePtr, other.m_value.PageRetirementCausePtr, sizeof(*m_value.PageRetirementCausePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PAGERETIREMENTCAUSE)
            {
                memcpy(m_value.PageRetirementCausePtr, &other.m_value.PageRetirementCause, sizeof(*m_value.PageRetirementCausePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_PCIINFOEXT:
        {
            if (other.m_type == INJECTION_PCIINFOEXT)
            {
                memcpy(&m_value.PciInfoExt, &other.m_value.PciInfoExt, sizeof(*&m_value.PciInfoExt));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PCIINFOEXT_PTR)
            {
                memcpy(&m_value.PciInfoExt, other.m_value.PciInfoExtPtr, sizeof(*&m_value.PciInfoExt));
                set = true;
            }
            break;
        }
        case INJECTION_PCIINFOEXT_PTR:
        {
            if (other.m_type == INJECTION_PCIINFOEXT_PTR)
            {
                memcpy(m_value.PciInfoExtPtr, other.m_value.PciInfoExtPtr, sizeof(*m_value.PciInfoExtPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PCIINFOEXT)
            {
                memcpy(m_value.PciInfoExtPtr, &other.m_value.PciInfoExt, sizeof(*m_value.PciInfoExtPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_PCIINFO:
        {
            if (other.m_type == INJECTION_PCIINFO)
            {
                memcpy(&m_value.PciInfo, &other.m_value.PciInfo, sizeof(*&m_value.PciInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PCIINFO_PTR)
            {
                memcpy(&m_value.PciInfo, other.m_value.PciInfoPtr, sizeof(*&m_value.PciInfo));
                set = true;
            }
            break;
        }
        case INJECTION_PCIINFO_PTR:
        {
            if (other.m_type == INJECTION_PCIINFO_PTR)
            {
                memcpy(m_value.PciInfoPtr, other.m_value.PciInfoPtr, sizeof(*m_value.PciInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PCIINFO)
            {
                memcpy(m_value.PciInfoPtr, &other.m_value.PciInfo, sizeof(*m_value.PciInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_PCIELINKSTATE:
        {
            if (other.m_type == INJECTION_PCIELINKSTATE)
            {
                memcpy(&m_value.PcieLinkState, &other.m_value.PcieLinkState, sizeof(*&m_value.PcieLinkState));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PCIELINKSTATE_PTR)
            {
                memcpy(&m_value.PcieLinkState, other.m_value.PcieLinkStatePtr, sizeof(*&m_value.PcieLinkState));
                set = true;
            }
            break;
        }
        case INJECTION_PCIELINKSTATE_PTR:
        {
            if (other.m_type == INJECTION_PCIELINKSTATE_PTR)
            {
                memcpy(m_value.PcieLinkStatePtr, other.m_value.PcieLinkStatePtr, sizeof(*m_value.PcieLinkStatePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PCIELINKSTATE)
            {
                memcpy(m_value.PcieLinkStatePtr, &other.m_value.PcieLinkState, sizeof(*m_value.PcieLinkStatePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_PCIEUTILCOUNTER:
        {
            if (other.m_type == INJECTION_PCIEUTILCOUNTER)
            {
                memcpy(&m_value.PcieUtilCounter, &other.m_value.PcieUtilCounter, sizeof(*&m_value.PcieUtilCounter));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PCIEUTILCOUNTER_PTR)
            {
                memcpy(&m_value.PcieUtilCounter, other.m_value.PcieUtilCounterPtr, sizeof(*&m_value.PcieUtilCounter));
                set = true;
            }
            break;
        }
        case INJECTION_PCIEUTILCOUNTER_PTR:
        {
            if (other.m_type == INJECTION_PCIEUTILCOUNTER_PTR)
            {
                memcpy(m_value.PcieUtilCounterPtr, other.m_value.PcieUtilCounterPtr, sizeof(*m_value.PcieUtilCounterPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PCIEUTILCOUNTER)
            {
                memcpy(m_value.PcieUtilCounterPtr, &other.m_value.PcieUtilCounter, sizeof(*m_value.PcieUtilCounterPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_PERFPOLICYTYPE:
        {
            if (other.m_type == INJECTION_PERFPOLICYTYPE)
            {
                memcpy(&m_value.PerfPolicyType, &other.m_value.PerfPolicyType, sizeof(*&m_value.PerfPolicyType));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PERFPOLICYTYPE_PTR)
            {
                memcpy(&m_value.PerfPolicyType, other.m_value.PerfPolicyTypePtr, sizeof(*&m_value.PerfPolicyType));
                set = true;
            }
            break;
        }
        case INJECTION_PERFPOLICYTYPE_PTR:
        {
            if (other.m_type == INJECTION_PERFPOLICYTYPE_PTR)
            {
                memcpy(m_value.PerfPolicyTypePtr, other.m_value.PerfPolicyTypePtr, sizeof(*m_value.PerfPolicyTypePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PERFPOLICYTYPE)
            {
                memcpy(m_value.PerfPolicyTypePtr, &other.m_value.PerfPolicyType, sizeof(*m_value.PerfPolicyTypePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_PLATFORMINFO:
        {
            if (other.m_type == INJECTION_PLATFORMINFO)
            {
                memcpy(&m_value.PlatformInfo, &other.m_value.PlatformInfo, sizeof(*&m_value.PlatformInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PLATFORMINFO_PTR)
            {
                memcpy(&m_value.PlatformInfo, other.m_value.PlatformInfoPtr, sizeof(*&m_value.PlatformInfo));
                set = true;
            }
            break;
        }
        case INJECTION_PLATFORMINFO_PTR:
        {
            if (other.m_type == INJECTION_PLATFORMINFO_PTR)
            {
                memcpy(m_value.PlatformInfoPtr, other.m_value.PlatformInfoPtr, sizeof(*m_value.PlatformInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PLATFORMINFO)
            {
                memcpy(m_value.PlatformInfoPtr, &other.m_value.PlatformInfo, sizeof(*m_value.PlatformInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_PLATFORMINFO_V1:
        {
            if (other.m_type == INJECTION_PLATFORMINFO_V1)
            {
                memcpy(&m_value.PlatformInfo_v1, &other.m_value.PlatformInfo_v1, sizeof(*&m_value.PlatformInfo_v1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PLATFORMINFO_V1_PTR)
            {
                memcpy(&m_value.PlatformInfo_v1, other.m_value.PlatformInfo_v1Ptr, sizeof(*&m_value.PlatformInfo_v1));
                set = true;
            }
            break;
        }
        case INJECTION_PLATFORMINFO_V1_PTR:
        {
            if (other.m_type == INJECTION_PLATFORMINFO_V1_PTR)
            {
                memcpy(m_value.PlatformInfo_v1Ptr, other.m_value.PlatformInfo_v1Ptr, sizeof(*m_value.PlatformInfo_v1Ptr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PLATFORMINFO_V1)
            {
                memcpy(m_value.PlatformInfo_v1Ptr, &other.m_value.PlatformInfo_v1, sizeof(*m_value.PlatformInfo_v1Ptr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_POWERPROFILETYPE:
        {
            if (other.m_type == INJECTION_POWERPROFILETYPE)
            {
                memcpy(&m_value.PowerProfileType, &other.m_value.PowerProfileType, sizeof(*&m_value.PowerProfileType));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_POWERPROFILETYPE_PTR)
            {
                memcpy(&m_value.PowerProfileType, other.m_value.PowerProfileTypePtr, sizeof(*&m_value.PowerProfileType));
                set = true;
            }
            break;
        }
        case INJECTION_POWERPROFILETYPE_PTR:
        {
            if (other.m_type == INJECTION_POWERPROFILETYPE_PTR)
            {
                memcpy(m_value.PowerProfileTypePtr, other.m_value.PowerProfileTypePtr, sizeof(*m_value.PowerProfileTypePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_POWERPROFILETYPE)
            {
                memcpy(m_value.PowerProfileTypePtr, &other.m_value.PowerProfileType, sizeof(*m_value.PowerProfileTypePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_POWERSCOPETYPE:
        {
            if (other.m_type == INJECTION_POWERSCOPETYPE)
            {
                memcpy(&m_value.PowerScopeType, &other.m_value.PowerScopeType, sizeof(*&m_value.PowerScopeType));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_POWERSCOPETYPE_PTR)
            {
                memcpy(&m_value.PowerScopeType, other.m_value.PowerScopeTypePtr, sizeof(*&m_value.PowerScopeType));
                set = true;
            }
            break;
        }
        case INJECTION_POWERSCOPETYPE_PTR:
        {
            if (other.m_type == INJECTION_POWERSCOPETYPE_PTR)
            {
                memcpy(m_value.PowerScopeTypePtr, other.m_value.PowerScopeTypePtr, sizeof(*m_value.PowerScopeTypePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_POWERSCOPETYPE)
            {
                memcpy(m_value.PowerScopeTypePtr, &other.m_value.PowerScopeType, sizeof(*m_value.PowerScopeTypePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_POWERSOURCE:
        {
            if (other.m_type == INJECTION_POWERSOURCE)
            {
                memcpy(&m_value.PowerSource, &other.m_value.PowerSource, sizeof(*&m_value.PowerSource));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_POWERSOURCE_PTR)
            {
                memcpy(&m_value.PowerSource, other.m_value.PowerSourcePtr, sizeof(*&m_value.PowerSource));
                set = true;
            }
            break;
        }
        case INJECTION_POWERSOURCE_PTR:
        {
            if (other.m_type == INJECTION_POWERSOURCE_PTR)
            {
                memcpy(m_value.PowerSourcePtr, other.m_value.PowerSourcePtr, sizeof(*m_value.PowerSourcePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_POWERSOURCE)
            {
                memcpy(m_value.PowerSourcePtr, &other.m_value.PowerSource, sizeof(*m_value.PowerSourcePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_POWERVALUE_V2:
        {
            if (other.m_type == INJECTION_POWERVALUE_V2)
            {
                memcpy(&m_value.PowerValue_v2, &other.m_value.PowerValue_v2, sizeof(*&m_value.PowerValue_v2));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_POWERVALUE_V2_PTR)
            {
                memcpy(&m_value.PowerValue_v2, other.m_value.PowerValue_v2Ptr, sizeof(*&m_value.PowerValue_v2));
                set = true;
            }
            break;
        }
        case INJECTION_POWERVALUE_V2_PTR:
        {
            if (other.m_type == INJECTION_POWERVALUE_V2_PTR)
            {
                memcpy(m_value.PowerValue_v2Ptr, other.m_value.PowerValue_v2Ptr, sizeof(*m_value.PowerValue_v2Ptr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_POWERVALUE_V2)
            {
                memcpy(m_value.PowerValue_v2Ptr, &other.m_value.PowerValue_v2, sizeof(*m_value.PowerValue_v2Ptr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_PROCESSDETAILLIST:
        {
            if (other.m_type == INJECTION_PROCESSDETAILLIST)
            {
                memcpy(&m_value.ProcessDetailList, &other.m_value.ProcessDetailList, sizeof(*&m_value.ProcessDetailList));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PROCESSDETAILLIST_PTR)
            {
                memcpy(&m_value.ProcessDetailList, other.m_value.ProcessDetailListPtr, sizeof(*&m_value.ProcessDetailList));
                set = true;
            }
            break;
        }
        case INJECTION_PROCESSDETAILLIST_PTR:
        {
            if (other.m_type == INJECTION_PROCESSDETAILLIST_PTR)
            {
                memcpy(m_value.ProcessDetailListPtr, other.m_value.ProcessDetailListPtr, sizeof(*m_value.ProcessDetailListPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PROCESSDETAILLIST)
            {
                memcpy(m_value.ProcessDetailListPtr, &other.m_value.ProcessDetailList, sizeof(*m_value.ProcessDetailListPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_PROCESSDETAIL_V1:
        {
            if (other.m_type == INJECTION_PROCESSDETAIL_V1)
            {
                memcpy(&m_value.ProcessDetail_v1, &other.m_value.ProcessDetail_v1, sizeof(*&m_value.ProcessDetail_v1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PROCESSDETAIL_V1_PTR)
            {
                memcpy(&m_value.ProcessDetail_v1, other.m_value.ProcessDetail_v1Ptr, sizeof(*&m_value.ProcessDetail_v1));
                set = true;
            }
            break;
        }
        case INJECTION_PROCESSDETAIL_V1_PTR:
        {
            if (other.m_type == INJECTION_PROCESSDETAIL_V1_PTR)
            {
                memcpy(m_value.ProcessDetail_v1Ptr, other.m_value.ProcessDetail_v1Ptr, sizeof(*m_value.ProcessDetail_v1Ptr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PROCESSDETAIL_V1)
            {
                memcpy(m_value.ProcessDetail_v1Ptr, &other.m_value.ProcessDetail_v1, sizeof(*m_value.ProcessDetail_v1Ptr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_PROCESSINFO:
        {
            if (other.m_type == INJECTION_PROCESSINFO)
            {
                memcpy(&m_value.ProcessInfo, &other.m_value.ProcessInfo, sizeof(*&m_value.ProcessInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PROCESSINFO_PTR)
            {
                memcpy(&m_value.ProcessInfo, other.m_value.ProcessInfoPtr, sizeof(*&m_value.ProcessInfo));
                set = true;
            }
            break;
        }
        case INJECTION_PROCESSINFO_PTR:
        {
            if (other.m_type == INJECTION_PROCESSINFO_PTR)
            {
                memcpy(m_value.ProcessInfoPtr, other.m_value.ProcessInfoPtr, sizeof(*m_value.ProcessInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PROCESSINFO)
            {
                memcpy(m_value.ProcessInfoPtr, &other.m_value.ProcessInfo, sizeof(*m_value.ProcessInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_PROCESSINFO_V1:
        {
            if (other.m_type == INJECTION_PROCESSINFO_V1)
            {
                memcpy(&m_value.ProcessInfo_v1, &other.m_value.ProcessInfo_v1, sizeof(*&m_value.ProcessInfo_v1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PROCESSINFO_V1_PTR)
            {
                memcpy(&m_value.ProcessInfo_v1, other.m_value.ProcessInfo_v1Ptr, sizeof(*&m_value.ProcessInfo_v1));
                set = true;
            }
            break;
        }
        case INJECTION_PROCESSINFO_V1_PTR:
        {
            if (other.m_type == INJECTION_PROCESSINFO_V1_PTR)
            {
                memcpy(m_value.ProcessInfo_v1Ptr, other.m_value.ProcessInfo_v1Ptr, sizeof(*m_value.ProcessInfo_v1Ptr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PROCESSINFO_V1)
            {
                memcpy(m_value.ProcessInfo_v1Ptr, &other.m_value.ProcessInfo_v1, sizeof(*m_value.ProcessInfo_v1Ptr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_PROCESSUTILIZATIONINFO_V1:
        {
            if (other.m_type == INJECTION_PROCESSUTILIZATIONINFO_V1)
            {
                memcpy(&m_value.ProcessUtilizationInfo_v1, &other.m_value.ProcessUtilizationInfo_v1, sizeof(*&m_value.ProcessUtilizationInfo_v1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PROCESSUTILIZATIONINFO_V1_PTR)
            {
                memcpy(&m_value.ProcessUtilizationInfo_v1, other.m_value.ProcessUtilizationInfo_v1Ptr, sizeof(*&m_value.ProcessUtilizationInfo_v1));
                set = true;
            }
            break;
        }
        case INJECTION_PROCESSUTILIZATIONINFO_V1_PTR:
        {
            if (other.m_type == INJECTION_PROCESSUTILIZATIONINFO_V1_PTR)
            {
                memcpy(m_value.ProcessUtilizationInfo_v1Ptr, other.m_value.ProcessUtilizationInfo_v1Ptr, sizeof(*m_value.ProcessUtilizationInfo_v1Ptr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PROCESSUTILIZATIONINFO_V1)
            {
                memcpy(m_value.ProcessUtilizationInfo_v1Ptr, &other.m_value.ProcessUtilizationInfo_v1, sizeof(*m_value.ProcessUtilizationInfo_v1Ptr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_PROCESSUTILIZATIONSAMPLE:
        {
            if (other.m_type == INJECTION_PROCESSUTILIZATIONSAMPLE)
            {
                memcpy(&m_value.ProcessUtilizationSample, &other.m_value.ProcessUtilizationSample, sizeof(*&m_value.ProcessUtilizationSample));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PROCESSUTILIZATIONSAMPLE_PTR)
            {
                memcpy(&m_value.ProcessUtilizationSample, other.m_value.ProcessUtilizationSamplePtr, sizeof(*&m_value.ProcessUtilizationSample));
                set = true;
            }
            break;
        }
        case INJECTION_PROCESSUTILIZATIONSAMPLE_PTR:
        {
            if (other.m_type == INJECTION_PROCESSUTILIZATIONSAMPLE_PTR)
            {
                memcpy(m_value.ProcessUtilizationSamplePtr, other.m_value.ProcessUtilizationSamplePtr, sizeof(*m_value.ProcessUtilizationSamplePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PROCESSUTILIZATIONSAMPLE)
            {
                memcpy(m_value.ProcessUtilizationSamplePtr, &other.m_value.ProcessUtilizationSample, sizeof(*m_value.ProcessUtilizationSamplePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_PROCESSESUTILIZATIONINFO:
        {
            if (other.m_type == INJECTION_PROCESSESUTILIZATIONINFO)
            {
                memcpy(&m_value.ProcessesUtilizationInfo, &other.m_value.ProcessesUtilizationInfo, sizeof(*&m_value.ProcessesUtilizationInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PROCESSESUTILIZATIONINFO_PTR)
            {
                memcpy(&m_value.ProcessesUtilizationInfo, other.m_value.ProcessesUtilizationInfoPtr, sizeof(*&m_value.ProcessesUtilizationInfo));
                set = true;
            }
            break;
        }
        case INJECTION_PROCESSESUTILIZATIONINFO_PTR:
        {
            if (other.m_type == INJECTION_PROCESSESUTILIZATIONINFO_PTR)
            {
                memcpy(m_value.ProcessesUtilizationInfoPtr, other.m_value.ProcessesUtilizationInfoPtr, sizeof(*m_value.ProcessesUtilizationInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PROCESSESUTILIZATIONINFO)
            {
                memcpy(m_value.ProcessesUtilizationInfoPtr, &other.m_value.ProcessesUtilizationInfo, sizeof(*m_value.ProcessesUtilizationInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_PSTATES:
        {
            if (other.m_type == INJECTION_PSTATES)
            {
                memcpy(&m_value.Pstates, &other.m_value.Pstates, sizeof(*&m_value.Pstates));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PSTATES_PTR)
            {
                memcpy(&m_value.Pstates, other.m_value.PstatesPtr, sizeof(*&m_value.Pstates));
                set = true;
            }
            break;
        }
        case INJECTION_PSTATES_PTR:
        {
            if (other.m_type == INJECTION_PSTATES_PTR)
            {
                memcpy(m_value.PstatesPtr, other.m_value.PstatesPtr, sizeof(*m_value.PstatesPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_PSTATES)
            {
                memcpy(m_value.PstatesPtr, &other.m_value.Pstates, sizeof(*m_value.PstatesPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_RESTRICTEDAPI:
        {
            if (other.m_type == INJECTION_RESTRICTEDAPI)
            {
                memcpy(&m_value.RestrictedAPI, &other.m_value.RestrictedAPI, sizeof(*&m_value.RestrictedAPI));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_RESTRICTEDAPI_PTR)
            {
                memcpy(&m_value.RestrictedAPI, other.m_value.RestrictedAPIPtr, sizeof(*&m_value.RestrictedAPI));
                set = true;
            }
            break;
        }
        case INJECTION_RESTRICTEDAPI_PTR:
        {
            if (other.m_type == INJECTION_RESTRICTEDAPI_PTR)
            {
                memcpy(m_value.RestrictedAPIPtr, other.m_value.RestrictedAPIPtr, sizeof(*m_value.RestrictedAPIPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_RESTRICTEDAPI)
            {
                memcpy(m_value.RestrictedAPIPtr, &other.m_value.RestrictedAPI, sizeof(*m_value.RestrictedAPIPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_RETURN:
        {
            if (other.m_type == INJECTION_RETURN)
            {
                memcpy(&m_value.Return, &other.m_value.Return, sizeof(*&m_value.Return));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_RETURN_PTR)
            {
                memcpy(&m_value.Return, other.m_value.ReturnPtr, sizeof(*&m_value.Return));
                set = true;
            }
            break;
        }
        case INJECTION_RETURN_PTR:
        {
            if (other.m_type == INJECTION_RETURN_PTR)
            {
                memcpy(m_value.ReturnPtr, other.m_value.ReturnPtr, sizeof(*m_value.ReturnPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_RETURN)
            {
                memcpy(m_value.ReturnPtr, &other.m_value.Return, sizeof(*m_value.ReturnPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_ROWREMAPPERHISTOGRAMVALUES:
        {
            if (other.m_type == INJECTION_ROWREMAPPERHISTOGRAMVALUES)
            {
                memcpy(&m_value.RowRemapperHistogramValues, &other.m_value.RowRemapperHistogramValues, sizeof(*&m_value.RowRemapperHistogramValues));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_ROWREMAPPERHISTOGRAMVALUES_PTR)
            {
                memcpy(&m_value.RowRemapperHistogramValues, other.m_value.RowRemapperHistogramValuesPtr, sizeof(*&m_value.RowRemapperHistogramValues));
                set = true;
            }
            break;
        }
        case INJECTION_ROWREMAPPERHISTOGRAMVALUES_PTR:
        {
            if (other.m_type == INJECTION_ROWREMAPPERHISTOGRAMVALUES_PTR)
            {
                memcpy(m_value.RowRemapperHistogramValuesPtr, other.m_value.RowRemapperHistogramValuesPtr, sizeof(*m_value.RowRemapperHistogramValuesPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_ROWREMAPPERHISTOGRAMVALUES)
            {
                memcpy(m_value.RowRemapperHistogramValuesPtr, &other.m_value.RowRemapperHistogramValues, sizeof(*m_value.RowRemapperHistogramValuesPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_SAMPLE:
        {
            if (other.m_type == INJECTION_SAMPLE)
            {
                memcpy(&m_value.Sample, &other.m_value.Sample, sizeof(*&m_value.Sample));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_SAMPLE_PTR)
            {
                memcpy(&m_value.Sample, other.m_value.SamplePtr, sizeof(*&m_value.Sample));
                set = true;
            }
            break;
        }
        case INJECTION_SAMPLE_PTR:
        {
            if (other.m_type == INJECTION_SAMPLE_PTR)
            {
                memcpy(m_value.SamplePtr, other.m_value.SamplePtr, sizeof(*m_value.SamplePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_SAMPLE)
            {
                memcpy(m_value.SamplePtr, &other.m_value.Sample, sizeof(*m_value.SamplePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_SAMPLINGTYPE:
        {
            if (other.m_type == INJECTION_SAMPLINGTYPE)
            {
                memcpy(&m_value.SamplingType, &other.m_value.SamplingType, sizeof(*&m_value.SamplingType));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_SAMPLINGTYPE_PTR)
            {
                memcpy(&m_value.SamplingType, other.m_value.SamplingTypePtr, sizeof(*&m_value.SamplingType));
                set = true;
            }
            break;
        }
        case INJECTION_SAMPLINGTYPE_PTR:
        {
            if (other.m_type == INJECTION_SAMPLINGTYPE_PTR)
            {
                memcpy(m_value.SamplingTypePtr, other.m_value.SamplingTypePtr, sizeof(*m_value.SamplingTypePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_SAMPLINGTYPE)
            {
                memcpy(m_value.SamplingTypePtr, &other.m_value.SamplingType, sizeof(*m_value.SamplingTypePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_SYSTEMCONFCOMPUTESETTINGS:
        {
            if (other.m_type == INJECTION_SYSTEMCONFCOMPUTESETTINGS)
            {
                memcpy(&m_value.SystemConfComputeSettings, &other.m_value.SystemConfComputeSettings, sizeof(*&m_value.SystemConfComputeSettings));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_SYSTEMCONFCOMPUTESETTINGS_PTR)
            {
                memcpy(&m_value.SystemConfComputeSettings, other.m_value.SystemConfComputeSettingsPtr, sizeof(*&m_value.SystemConfComputeSettings));
                set = true;
            }
            break;
        }
        case INJECTION_SYSTEMCONFCOMPUTESETTINGS_PTR:
        {
            if (other.m_type == INJECTION_SYSTEMCONFCOMPUTESETTINGS_PTR)
            {
                memcpy(m_value.SystemConfComputeSettingsPtr, other.m_value.SystemConfComputeSettingsPtr, sizeof(*m_value.SystemConfComputeSettingsPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_SYSTEMCONFCOMPUTESETTINGS)
            {
                memcpy(m_value.SystemConfComputeSettingsPtr, &other.m_value.SystemConfComputeSettings, sizeof(*m_value.SystemConfComputeSettingsPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_SYSTEMDRIVERBRANCHINFO:
        {
            if (other.m_type == INJECTION_SYSTEMDRIVERBRANCHINFO)
            {
                memcpy(&m_value.SystemDriverBranchInfo, &other.m_value.SystemDriverBranchInfo, sizeof(*&m_value.SystemDriverBranchInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_SYSTEMDRIVERBRANCHINFO_PTR)
            {
                memcpy(&m_value.SystemDriverBranchInfo, other.m_value.SystemDriverBranchInfoPtr, sizeof(*&m_value.SystemDriverBranchInfo));
                set = true;
            }
            break;
        }
        case INJECTION_SYSTEMDRIVERBRANCHINFO_PTR:
        {
            if (other.m_type == INJECTION_SYSTEMDRIVERBRANCHINFO_PTR)
            {
                memcpy(m_value.SystemDriverBranchInfoPtr, other.m_value.SystemDriverBranchInfoPtr, sizeof(*m_value.SystemDriverBranchInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_SYSTEMDRIVERBRANCHINFO)
            {
                memcpy(m_value.SystemDriverBranchInfoPtr, &other.m_value.SystemDriverBranchInfo, sizeof(*m_value.SystemDriverBranchInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_TEMPERATURESENSORS:
        {
            if (other.m_type == INJECTION_TEMPERATURESENSORS)
            {
                memcpy(&m_value.TemperatureSensors, &other.m_value.TemperatureSensors, sizeof(*&m_value.TemperatureSensors));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_TEMPERATURESENSORS_PTR)
            {
                memcpy(&m_value.TemperatureSensors, other.m_value.TemperatureSensorsPtr, sizeof(*&m_value.TemperatureSensors));
                set = true;
            }
            break;
        }
        case INJECTION_TEMPERATURESENSORS_PTR:
        {
            if (other.m_type == INJECTION_TEMPERATURESENSORS_PTR)
            {
                memcpy(m_value.TemperatureSensorsPtr, other.m_value.TemperatureSensorsPtr, sizeof(*m_value.TemperatureSensorsPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_TEMPERATURESENSORS)
            {
                memcpy(m_value.TemperatureSensorsPtr, &other.m_value.TemperatureSensors, sizeof(*m_value.TemperatureSensorsPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_TEMPERATURETHRESHOLDS:
        {
            if (other.m_type == INJECTION_TEMPERATURETHRESHOLDS)
            {
                memcpy(&m_value.TemperatureThresholds, &other.m_value.TemperatureThresholds, sizeof(*&m_value.TemperatureThresholds));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_TEMPERATURETHRESHOLDS_PTR)
            {
                memcpy(&m_value.TemperatureThresholds, other.m_value.TemperatureThresholdsPtr, sizeof(*&m_value.TemperatureThresholds));
                set = true;
            }
            break;
        }
        case INJECTION_TEMPERATURETHRESHOLDS_PTR:
        {
            if (other.m_type == INJECTION_TEMPERATURETHRESHOLDS_PTR)
            {
                memcpy(m_value.TemperatureThresholdsPtr, other.m_value.TemperatureThresholdsPtr, sizeof(*m_value.TemperatureThresholdsPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_TEMPERATURETHRESHOLDS)
            {
                memcpy(m_value.TemperatureThresholdsPtr, &other.m_value.TemperatureThresholds, sizeof(*m_value.TemperatureThresholdsPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_TEMPERATURE:
        {
            if (other.m_type == INJECTION_TEMPERATURE)
            {
                memcpy(&m_value.Temperature, &other.m_value.Temperature, sizeof(*&m_value.Temperature));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_TEMPERATURE_PTR)
            {
                memcpy(&m_value.Temperature, other.m_value.TemperaturePtr, sizeof(*&m_value.Temperature));
                set = true;
            }
            break;
        }
        case INJECTION_TEMPERATURE_PTR:
        {
            if (other.m_type == INJECTION_TEMPERATURE_PTR)
            {
                memcpy(m_value.TemperaturePtr, other.m_value.TemperaturePtr, sizeof(*m_value.TemperaturePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_TEMPERATURE)
            {
                memcpy(m_value.TemperaturePtr, &other.m_value.Temperature, sizeof(*m_value.TemperaturePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_THERMALCONTROLLER:
        {
            if (other.m_type == INJECTION_THERMALCONTROLLER)
            {
                memcpy(&m_value.ThermalController, &other.m_value.ThermalController, sizeof(*&m_value.ThermalController));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_THERMALCONTROLLER_PTR)
            {
                memcpy(&m_value.ThermalController, other.m_value.ThermalControllerPtr, sizeof(*&m_value.ThermalController));
                set = true;
            }
            break;
        }
        case INJECTION_THERMALCONTROLLER_PTR:
        {
            if (other.m_type == INJECTION_THERMALCONTROLLER_PTR)
            {
                memcpy(m_value.ThermalControllerPtr, other.m_value.ThermalControllerPtr, sizeof(*m_value.ThermalControllerPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_THERMALCONTROLLER)
            {
                memcpy(m_value.ThermalControllerPtr, &other.m_value.ThermalController, sizeof(*m_value.ThermalControllerPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_THERMALTARGET:
        {
            if (other.m_type == INJECTION_THERMALTARGET)
            {
                memcpy(&m_value.ThermalTarget, &other.m_value.ThermalTarget, sizeof(*&m_value.ThermalTarget));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_THERMALTARGET_PTR)
            {
                memcpy(&m_value.ThermalTarget, other.m_value.ThermalTargetPtr, sizeof(*&m_value.ThermalTarget));
                set = true;
            }
            break;
        }
        case INJECTION_THERMALTARGET_PTR:
        {
            if (other.m_type == INJECTION_THERMALTARGET_PTR)
            {
                memcpy(m_value.ThermalTargetPtr, other.m_value.ThermalTargetPtr, sizeof(*m_value.ThermalTargetPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_THERMALTARGET)
            {
                memcpy(m_value.ThermalTargetPtr, &other.m_value.ThermalTarget, sizeof(*m_value.ThermalTargetPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_UNITFANINFO:
        {
            if (other.m_type == INJECTION_UNITFANINFO)
            {
                memcpy(&m_value.UnitFanInfo, &other.m_value.UnitFanInfo, sizeof(*&m_value.UnitFanInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_UNITFANINFO_PTR)
            {
                memcpy(&m_value.UnitFanInfo, other.m_value.UnitFanInfoPtr, sizeof(*&m_value.UnitFanInfo));
                set = true;
            }
            break;
        }
        case INJECTION_UNITFANINFO_PTR:
        {
            if (other.m_type == INJECTION_UNITFANINFO_PTR)
            {
                memcpy(m_value.UnitFanInfoPtr, other.m_value.UnitFanInfoPtr, sizeof(*m_value.UnitFanInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_UNITFANINFO)
            {
                memcpy(m_value.UnitFanInfoPtr, &other.m_value.UnitFanInfo, sizeof(*m_value.UnitFanInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_UNITFANSPEEDS:
        {
            if (other.m_type == INJECTION_UNITFANSPEEDS)
            {
                memcpy(&m_value.UnitFanSpeeds, &other.m_value.UnitFanSpeeds, sizeof(*&m_value.UnitFanSpeeds));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_UNITFANSPEEDS_PTR)
            {
                memcpy(&m_value.UnitFanSpeeds, other.m_value.UnitFanSpeedsPtr, sizeof(*&m_value.UnitFanSpeeds));
                set = true;
            }
            break;
        }
        case INJECTION_UNITFANSPEEDS_PTR:
        {
            if (other.m_type == INJECTION_UNITFANSPEEDS_PTR)
            {
                memcpy(m_value.UnitFanSpeedsPtr, other.m_value.UnitFanSpeedsPtr, sizeof(*m_value.UnitFanSpeedsPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_UNITFANSPEEDS)
            {
                memcpy(m_value.UnitFanSpeedsPtr, &other.m_value.UnitFanSpeeds, sizeof(*m_value.UnitFanSpeedsPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_UNITINFO:
        {
            if (other.m_type == INJECTION_UNITINFO)
            {
                memcpy(&m_value.UnitInfo, &other.m_value.UnitInfo, sizeof(*&m_value.UnitInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_UNITINFO_PTR)
            {
                memcpy(&m_value.UnitInfo, other.m_value.UnitInfoPtr, sizeof(*&m_value.UnitInfo));
                set = true;
            }
            break;
        }
        case INJECTION_UNITINFO_PTR:
        {
            if (other.m_type == INJECTION_UNITINFO_PTR)
            {
                memcpy(m_value.UnitInfoPtr, other.m_value.UnitInfoPtr, sizeof(*m_value.UnitInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_UNITINFO)
            {
                memcpy(m_value.UnitInfoPtr, &other.m_value.UnitInfo, sizeof(*m_value.UnitInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_UNIT:
        {
            if (other.m_type == INJECTION_UNIT)
            {
                memcpy(&m_value.Unit, &other.m_value.Unit, sizeof(*&m_value.Unit));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_UNIT_PTR)
            {
                memcpy(&m_value.Unit, other.m_value.UnitPtr, sizeof(*&m_value.Unit));
                set = true;
            }
            break;
        }
        case INJECTION_UNIT_PTR:
        {
            if (other.m_type == INJECTION_UNIT_PTR)
            {
                memcpy(m_value.UnitPtr, other.m_value.UnitPtr, sizeof(*m_value.UnitPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_UNIT)
            {
                memcpy(m_value.UnitPtr, &other.m_value.Unit, sizeof(*m_value.UnitPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_UTILIZATION:
        {
            if (other.m_type == INJECTION_UTILIZATION)
            {
                memcpy(&m_value.Utilization, &other.m_value.Utilization, sizeof(*&m_value.Utilization));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_UTILIZATION_PTR)
            {
                memcpy(&m_value.Utilization, other.m_value.UtilizationPtr, sizeof(*&m_value.Utilization));
                set = true;
            }
            break;
        }
        case INJECTION_UTILIZATION_PTR:
        {
            if (other.m_type == INJECTION_UTILIZATION_PTR)
            {
                memcpy(m_value.UtilizationPtr, other.m_value.UtilizationPtr, sizeof(*m_value.UtilizationPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_UTILIZATION)
            {
                memcpy(m_value.UtilizationPtr, &other.m_value.Utilization, sizeof(*m_value.UtilizationPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VALUETYPE:
        {
            if (other.m_type == INJECTION_VALUETYPE)
            {
                memcpy(&m_value.ValueType, &other.m_value.ValueType, sizeof(*&m_value.ValueType));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VALUETYPE_PTR)
            {
                memcpy(&m_value.ValueType, other.m_value.ValueTypePtr, sizeof(*&m_value.ValueType));
                set = true;
            }
            break;
        }
        case INJECTION_VALUETYPE_PTR:
        {
            if (other.m_type == INJECTION_VALUETYPE_PTR)
            {
                memcpy(m_value.ValueTypePtr, other.m_value.ValueTypePtr, sizeof(*m_value.ValueTypePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VALUETYPE)
            {
                memcpy(m_value.ValueTypePtr, &other.m_value.ValueType, sizeof(*m_value.ValueTypePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUCAPABILITY:
        {
            if (other.m_type == INJECTION_VGPUCAPABILITY)
            {
                memcpy(&m_value.VgpuCapability, &other.m_value.VgpuCapability, sizeof(*&m_value.VgpuCapability));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUCAPABILITY_PTR)
            {
                memcpy(&m_value.VgpuCapability, other.m_value.VgpuCapabilityPtr, sizeof(*&m_value.VgpuCapability));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUCAPABILITY_PTR:
        {
            if (other.m_type == INJECTION_VGPUCAPABILITY_PTR)
            {
                memcpy(m_value.VgpuCapabilityPtr, other.m_value.VgpuCapabilityPtr, sizeof(*m_value.VgpuCapabilityPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUCAPABILITY)
            {
                memcpy(m_value.VgpuCapabilityPtr, &other.m_value.VgpuCapability, sizeof(*m_value.VgpuCapabilityPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUDRIVERCAPABILITY:
        {
            if (other.m_type == INJECTION_VGPUDRIVERCAPABILITY)
            {
                memcpy(&m_value.VgpuDriverCapability, &other.m_value.VgpuDriverCapability, sizeof(*&m_value.VgpuDriverCapability));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUDRIVERCAPABILITY_PTR)
            {
                memcpy(&m_value.VgpuDriverCapability, other.m_value.VgpuDriverCapabilityPtr, sizeof(*&m_value.VgpuDriverCapability));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUDRIVERCAPABILITY_PTR:
        {
            if (other.m_type == INJECTION_VGPUDRIVERCAPABILITY_PTR)
            {
                memcpy(m_value.VgpuDriverCapabilityPtr, other.m_value.VgpuDriverCapabilityPtr, sizeof(*m_value.VgpuDriverCapabilityPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUDRIVERCAPABILITY)
            {
                memcpy(m_value.VgpuDriverCapabilityPtr, &other.m_value.VgpuDriverCapability, sizeof(*m_value.VgpuDriverCapabilityPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUGUESTINFOSTATE:
        {
            if (other.m_type == INJECTION_VGPUGUESTINFOSTATE)
            {
                memcpy(&m_value.VgpuGuestInfoState, &other.m_value.VgpuGuestInfoState, sizeof(*&m_value.VgpuGuestInfoState));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUGUESTINFOSTATE_PTR)
            {
                memcpy(&m_value.VgpuGuestInfoState, other.m_value.VgpuGuestInfoStatePtr, sizeof(*&m_value.VgpuGuestInfoState));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUGUESTINFOSTATE_PTR:
        {
            if (other.m_type == INJECTION_VGPUGUESTINFOSTATE_PTR)
            {
                memcpy(m_value.VgpuGuestInfoStatePtr, other.m_value.VgpuGuestInfoStatePtr, sizeof(*m_value.VgpuGuestInfoStatePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUGUESTINFOSTATE)
            {
                memcpy(m_value.VgpuGuestInfoStatePtr, &other.m_value.VgpuGuestInfoState, sizeof(*m_value.VgpuGuestInfoStatePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUHETEROGENEOUSMODE:
        {
            if (other.m_type == INJECTION_VGPUHETEROGENEOUSMODE)
            {
                memcpy(&m_value.VgpuHeterogeneousMode, &other.m_value.VgpuHeterogeneousMode, sizeof(*&m_value.VgpuHeterogeneousMode));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUHETEROGENEOUSMODE_PTR)
            {
                memcpy(&m_value.VgpuHeterogeneousMode, other.m_value.VgpuHeterogeneousModePtr, sizeof(*&m_value.VgpuHeterogeneousMode));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUHETEROGENEOUSMODE_PTR:
        {
            if (other.m_type == INJECTION_VGPUHETEROGENEOUSMODE_PTR)
            {
                memcpy(m_value.VgpuHeterogeneousModePtr, other.m_value.VgpuHeterogeneousModePtr, sizeof(*m_value.VgpuHeterogeneousModePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUHETEROGENEOUSMODE)
            {
                memcpy(m_value.VgpuHeterogeneousModePtr, &other.m_value.VgpuHeterogeneousMode, sizeof(*m_value.VgpuHeterogeneousModePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUINSTANCEUTILIZATIONINFO_V1:
        {
            if (other.m_type == INJECTION_VGPUINSTANCEUTILIZATIONINFO_V1)
            {
                memcpy(&m_value.VgpuInstanceUtilizationInfo_v1, &other.m_value.VgpuInstanceUtilizationInfo_v1, sizeof(*&m_value.VgpuInstanceUtilizationInfo_v1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUINSTANCEUTILIZATIONINFO_V1_PTR)
            {
                memcpy(&m_value.VgpuInstanceUtilizationInfo_v1, other.m_value.VgpuInstanceUtilizationInfo_v1Ptr, sizeof(*&m_value.VgpuInstanceUtilizationInfo_v1));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUINSTANCEUTILIZATIONINFO_V1_PTR:
        {
            if (other.m_type == INJECTION_VGPUINSTANCEUTILIZATIONINFO_V1_PTR)
            {
                memcpy(m_value.VgpuInstanceUtilizationInfo_v1Ptr, other.m_value.VgpuInstanceUtilizationInfo_v1Ptr, sizeof(*m_value.VgpuInstanceUtilizationInfo_v1Ptr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUINSTANCEUTILIZATIONINFO_V1)
            {
                memcpy(m_value.VgpuInstanceUtilizationInfo_v1Ptr, &other.m_value.VgpuInstanceUtilizationInfo_v1, sizeof(*m_value.VgpuInstanceUtilizationInfo_v1Ptr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUINSTANCEUTILIZATIONSAMPLE:
        {
            if (other.m_type == INJECTION_VGPUINSTANCEUTILIZATIONSAMPLE)
            {
                memcpy(&m_value.VgpuInstanceUtilizationSample, &other.m_value.VgpuInstanceUtilizationSample, sizeof(*&m_value.VgpuInstanceUtilizationSample));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUINSTANCEUTILIZATIONSAMPLE_PTR)
            {
                memcpy(&m_value.VgpuInstanceUtilizationSample, other.m_value.VgpuInstanceUtilizationSamplePtr, sizeof(*&m_value.VgpuInstanceUtilizationSample));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUINSTANCEUTILIZATIONSAMPLE_PTR:
        {
            if (other.m_type == INJECTION_VGPUINSTANCEUTILIZATIONSAMPLE_PTR)
            {
                memcpy(m_value.VgpuInstanceUtilizationSamplePtr, other.m_value.VgpuInstanceUtilizationSamplePtr, sizeof(*m_value.VgpuInstanceUtilizationSamplePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUINSTANCEUTILIZATIONSAMPLE)
            {
                memcpy(m_value.VgpuInstanceUtilizationSamplePtr, &other.m_value.VgpuInstanceUtilizationSample, sizeof(*m_value.VgpuInstanceUtilizationSamplePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUINSTANCE:
        {
            if (other.m_type == INJECTION_VGPUINSTANCE)
            {
                memcpy(&m_value.VgpuInstance, &other.m_value.VgpuInstance, sizeof(*&m_value.VgpuInstance));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUINSTANCE_PTR)
            {
                memcpy(&m_value.VgpuInstance, other.m_value.VgpuInstancePtr, sizeof(*&m_value.VgpuInstance));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUINSTANCE_PTR:
        {
            if (other.m_type == INJECTION_VGPUINSTANCE_PTR)
            {
                memcpy(m_value.VgpuInstancePtr, other.m_value.VgpuInstancePtr, sizeof(*m_value.VgpuInstancePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUINSTANCE)
            {
                memcpy(m_value.VgpuInstancePtr, &other.m_value.VgpuInstance, sizeof(*m_value.VgpuInstancePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUINSTANCESUTILIZATIONINFO:
        {
            if (other.m_type == INJECTION_VGPUINSTANCESUTILIZATIONINFO)
            {
                memcpy(&m_value.VgpuInstancesUtilizationInfo, &other.m_value.VgpuInstancesUtilizationInfo, sizeof(*&m_value.VgpuInstancesUtilizationInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUINSTANCESUTILIZATIONINFO_PTR)
            {
                memcpy(&m_value.VgpuInstancesUtilizationInfo, other.m_value.VgpuInstancesUtilizationInfoPtr, sizeof(*&m_value.VgpuInstancesUtilizationInfo));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUINSTANCESUTILIZATIONINFO_PTR:
        {
            if (other.m_type == INJECTION_VGPUINSTANCESUTILIZATIONINFO_PTR)
            {
                memcpy(m_value.VgpuInstancesUtilizationInfoPtr, other.m_value.VgpuInstancesUtilizationInfoPtr, sizeof(*m_value.VgpuInstancesUtilizationInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUINSTANCESUTILIZATIONINFO)
            {
                memcpy(m_value.VgpuInstancesUtilizationInfoPtr, &other.m_value.VgpuInstancesUtilizationInfo, sizeof(*m_value.VgpuInstancesUtilizationInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPULICENSEEXPIRY:
        {
            if (other.m_type == INJECTION_VGPULICENSEEXPIRY)
            {
                memcpy(&m_value.VgpuLicenseExpiry, &other.m_value.VgpuLicenseExpiry, sizeof(*&m_value.VgpuLicenseExpiry));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPULICENSEEXPIRY_PTR)
            {
                memcpy(&m_value.VgpuLicenseExpiry, other.m_value.VgpuLicenseExpiryPtr, sizeof(*&m_value.VgpuLicenseExpiry));
                set = true;
            }
            break;
        }
        case INJECTION_VGPULICENSEEXPIRY_PTR:
        {
            if (other.m_type == INJECTION_VGPULICENSEEXPIRY_PTR)
            {
                memcpy(m_value.VgpuLicenseExpiryPtr, other.m_value.VgpuLicenseExpiryPtr, sizeof(*m_value.VgpuLicenseExpiryPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPULICENSEEXPIRY)
            {
                memcpy(m_value.VgpuLicenseExpiryPtr, &other.m_value.VgpuLicenseExpiry, sizeof(*m_value.VgpuLicenseExpiryPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPULICENSEINFO:
        {
            if (other.m_type == INJECTION_VGPULICENSEINFO)
            {
                memcpy(&m_value.VgpuLicenseInfo, &other.m_value.VgpuLicenseInfo, sizeof(*&m_value.VgpuLicenseInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPULICENSEINFO_PTR)
            {
                memcpy(&m_value.VgpuLicenseInfo, other.m_value.VgpuLicenseInfoPtr, sizeof(*&m_value.VgpuLicenseInfo));
                set = true;
            }
            break;
        }
        case INJECTION_VGPULICENSEINFO_PTR:
        {
            if (other.m_type == INJECTION_VGPULICENSEINFO_PTR)
            {
                memcpy(m_value.VgpuLicenseInfoPtr, other.m_value.VgpuLicenseInfoPtr, sizeof(*m_value.VgpuLicenseInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPULICENSEINFO)
            {
                memcpy(m_value.VgpuLicenseInfoPtr, &other.m_value.VgpuLicenseInfo, sizeof(*m_value.VgpuLicenseInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUMETADATA:
        {
            if (other.m_type == INJECTION_VGPUMETADATA)
            {
                memcpy(&m_value.VgpuMetadata, &other.m_value.VgpuMetadata, sizeof(*&m_value.VgpuMetadata));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUMETADATA_PTR)
            {
                memcpy(&m_value.VgpuMetadata, other.m_value.VgpuMetadataPtr, sizeof(*&m_value.VgpuMetadata));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUMETADATA_PTR:
        {
            if (other.m_type == INJECTION_VGPUMETADATA_PTR)
            {
                memcpy(m_value.VgpuMetadataPtr, other.m_value.VgpuMetadataPtr, sizeof(*m_value.VgpuMetadataPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUMETADATA)
            {
                memcpy(m_value.VgpuMetadataPtr, &other.m_value.VgpuMetadata, sizeof(*m_value.VgpuMetadataPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUPGPUCOMPATIBILITYLIMITCODE:
        {
            if (other.m_type == INJECTION_VGPUPGPUCOMPATIBILITYLIMITCODE)
            {
                memcpy(&m_value.VgpuPgpuCompatibilityLimitCode, &other.m_value.VgpuPgpuCompatibilityLimitCode, sizeof(*&m_value.VgpuPgpuCompatibilityLimitCode));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUPGPUCOMPATIBILITYLIMITCODE_PTR)
            {
                memcpy(&m_value.VgpuPgpuCompatibilityLimitCode, other.m_value.VgpuPgpuCompatibilityLimitCodePtr, sizeof(*&m_value.VgpuPgpuCompatibilityLimitCode));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUPGPUCOMPATIBILITYLIMITCODE_PTR:
        {
            if (other.m_type == INJECTION_VGPUPGPUCOMPATIBILITYLIMITCODE_PTR)
            {
                memcpy(m_value.VgpuPgpuCompatibilityLimitCodePtr, other.m_value.VgpuPgpuCompatibilityLimitCodePtr, sizeof(*m_value.VgpuPgpuCompatibilityLimitCodePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUPGPUCOMPATIBILITYLIMITCODE)
            {
                memcpy(m_value.VgpuPgpuCompatibilityLimitCodePtr, &other.m_value.VgpuPgpuCompatibilityLimitCode, sizeof(*m_value.VgpuPgpuCompatibilityLimitCodePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUPGPUCOMPATIBILITY:
        {
            if (other.m_type == INJECTION_VGPUPGPUCOMPATIBILITY)
            {
                memcpy(&m_value.VgpuPgpuCompatibility, &other.m_value.VgpuPgpuCompatibility, sizeof(*&m_value.VgpuPgpuCompatibility));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUPGPUCOMPATIBILITY_PTR)
            {
                memcpy(&m_value.VgpuPgpuCompatibility, other.m_value.VgpuPgpuCompatibilityPtr, sizeof(*&m_value.VgpuPgpuCompatibility));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUPGPUCOMPATIBILITY_PTR:
        {
            if (other.m_type == INJECTION_VGPUPGPUCOMPATIBILITY_PTR)
            {
                memcpy(m_value.VgpuPgpuCompatibilityPtr, other.m_value.VgpuPgpuCompatibilityPtr, sizeof(*m_value.VgpuPgpuCompatibilityPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUPGPUCOMPATIBILITY)
            {
                memcpy(m_value.VgpuPgpuCompatibilityPtr, &other.m_value.VgpuPgpuCompatibility, sizeof(*m_value.VgpuPgpuCompatibilityPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUPGPUMETADATA:
        {
            if (other.m_type == INJECTION_VGPUPGPUMETADATA)
            {
                memcpy(&m_value.VgpuPgpuMetadata, &other.m_value.VgpuPgpuMetadata, sizeof(*&m_value.VgpuPgpuMetadata));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUPGPUMETADATA_PTR)
            {
                memcpy(&m_value.VgpuPgpuMetadata, other.m_value.VgpuPgpuMetadataPtr, sizeof(*&m_value.VgpuPgpuMetadata));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUPGPUMETADATA_PTR:
        {
            if (other.m_type == INJECTION_VGPUPGPUMETADATA_PTR)
            {
                memcpy(m_value.VgpuPgpuMetadataPtr, other.m_value.VgpuPgpuMetadataPtr, sizeof(*m_value.VgpuPgpuMetadataPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUPGPUMETADATA)
            {
                memcpy(m_value.VgpuPgpuMetadataPtr, &other.m_value.VgpuPgpuMetadata, sizeof(*m_value.VgpuPgpuMetadataPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUPLACEMENTID:
        {
            if (other.m_type == INJECTION_VGPUPLACEMENTID)
            {
                memcpy(&m_value.VgpuPlacementId, &other.m_value.VgpuPlacementId, sizeof(*&m_value.VgpuPlacementId));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUPLACEMENTID_PTR)
            {
                memcpy(&m_value.VgpuPlacementId, other.m_value.VgpuPlacementIdPtr, sizeof(*&m_value.VgpuPlacementId));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUPLACEMENTID_PTR:
        {
            if (other.m_type == INJECTION_VGPUPLACEMENTID_PTR)
            {
                memcpy(m_value.VgpuPlacementIdPtr, other.m_value.VgpuPlacementIdPtr, sizeof(*m_value.VgpuPlacementIdPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUPLACEMENTID)
            {
                memcpy(m_value.VgpuPlacementIdPtr, &other.m_value.VgpuPlacementId, sizeof(*m_value.VgpuPlacementIdPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUPLACEMENTLIST:
        {
            if (other.m_type == INJECTION_VGPUPLACEMENTLIST)
            {
                memcpy(&m_value.VgpuPlacementList, &other.m_value.VgpuPlacementList, sizeof(*&m_value.VgpuPlacementList));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUPLACEMENTLIST_PTR)
            {
                memcpy(&m_value.VgpuPlacementList, other.m_value.VgpuPlacementListPtr, sizeof(*&m_value.VgpuPlacementList));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUPLACEMENTLIST_PTR:
        {
            if (other.m_type == INJECTION_VGPUPLACEMENTLIST_PTR)
            {
                memcpy(m_value.VgpuPlacementListPtr, other.m_value.VgpuPlacementListPtr, sizeof(*m_value.VgpuPlacementListPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUPLACEMENTLIST)
            {
                memcpy(m_value.VgpuPlacementListPtr, &other.m_value.VgpuPlacementList, sizeof(*m_value.VgpuPlacementListPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUPLACEMENTLIST_V1:
        {
            if (other.m_type == INJECTION_VGPUPLACEMENTLIST_V1)
            {
                memcpy(&m_value.VgpuPlacementList_v1, &other.m_value.VgpuPlacementList_v1, sizeof(*&m_value.VgpuPlacementList_v1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUPLACEMENTLIST_V1_PTR)
            {
                memcpy(&m_value.VgpuPlacementList_v1, other.m_value.VgpuPlacementList_v1Ptr, sizeof(*&m_value.VgpuPlacementList_v1));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUPLACEMENTLIST_V1_PTR:
        {
            if (other.m_type == INJECTION_VGPUPLACEMENTLIST_V1_PTR)
            {
                memcpy(m_value.VgpuPlacementList_v1Ptr, other.m_value.VgpuPlacementList_v1Ptr, sizeof(*m_value.VgpuPlacementList_v1Ptr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUPLACEMENTLIST_V1)
            {
                memcpy(m_value.VgpuPlacementList_v1Ptr, &other.m_value.VgpuPlacementList_v1, sizeof(*m_value.VgpuPlacementList_v1Ptr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUPROCESSUTILIZATIONINFO_V1:
        {
            if (other.m_type == INJECTION_VGPUPROCESSUTILIZATIONINFO_V1)
            {
                memcpy(&m_value.VgpuProcessUtilizationInfo_v1, &other.m_value.VgpuProcessUtilizationInfo_v1, sizeof(*&m_value.VgpuProcessUtilizationInfo_v1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUPROCESSUTILIZATIONINFO_V1_PTR)
            {
                memcpy(&m_value.VgpuProcessUtilizationInfo_v1, other.m_value.VgpuProcessUtilizationInfo_v1Ptr, sizeof(*&m_value.VgpuProcessUtilizationInfo_v1));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUPROCESSUTILIZATIONINFO_V1_PTR:
        {
            if (other.m_type == INJECTION_VGPUPROCESSUTILIZATIONINFO_V1_PTR)
            {
                memcpy(m_value.VgpuProcessUtilizationInfo_v1Ptr, other.m_value.VgpuProcessUtilizationInfo_v1Ptr, sizeof(*m_value.VgpuProcessUtilizationInfo_v1Ptr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUPROCESSUTILIZATIONINFO_V1)
            {
                memcpy(m_value.VgpuProcessUtilizationInfo_v1Ptr, &other.m_value.VgpuProcessUtilizationInfo_v1, sizeof(*m_value.VgpuProcessUtilizationInfo_v1Ptr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUPROCESSUTILIZATIONSAMPLE:
        {
            if (other.m_type == INJECTION_VGPUPROCESSUTILIZATIONSAMPLE)
            {
                memcpy(&m_value.VgpuProcessUtilizationSample, &other.m_value.VgpuProcessUtilizationSample, sizeof(*&m_value.VgpuProcessUtilizationSample));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUPROCESSUTILIZATIONSAMPLE_PTR)
            {
                memcpy(&m_value.VgpuProcessUtilizationSample, other.m_value.VgpuProcessUtilizationSamplePtr, sizeof(*&m_value.VgpuProcessUtilizationSample));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUPROCESSUTILIZATIONSAMPLE_PTR:
        {
            if (other.m_type == INJECTION_VGPUPROCESSUTILIZATIONSAMPLE_PTR)
            {
                memcpy(m_value.VgpuProcessUtilizationSamplePtr, other.m_value.VgpuProcessUtilizationSamplePtr, sizeof(*m_value.VgpuProcessUtilizationSamplePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUPROCESSUTILIZATIONSAMPLE)
            {
                memcpy(m_value.VgpuProcessUtilizationSamplePtr, &other.m_value.VgpuProcessUtilizationSample, sizeof(*m_value.VgpuProcessUtilizationSamplePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUPROCESSESUTILIZATIONINFO:
        {
            if (other.m_type == INJECTION_VGPUPROCESSESUTILIZATIONINFO)
            {
                memcpy(&m_value.VgpuProcessesUtilizationInfo, &other.m_value.VgpuProcessesUtilizationInfo, sizeof(*&m_value.VgpuProcessesUtilizationInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUPROCESSESUTILIZATIONINFO_PTR)
            {
                memcpy(&m_value.VgpuProcessesUtilizationInfo, other.m_value.VgpuProcessesUtilizationInfoPtr, sizeof(*&m_value.VgpuProcessesUtilizationInfo));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUPROCESSESUTILIZATIONINFO_PTR:
        {
            if (other.m_type == INJECTION_VGPUPROCESSESUTILIZATIONINFO_PTR)
            {
                memcpy(m_value.VgpuProcessesUtilizationInfoPtr, other.m_value.VgpuProcessesUtilizationInfoPtr, sizeof(*m_value.VgpuProcessesUtilizationInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUPROCESSESUTILIZATIONINFO)
            {
                memcpy(m_value.VgpuProcessesUtilizationInfoPtr, &other.m_value.VgpuProcessesUtilizationInfo, sizeof(*m_value.VgpuProcessesUtilizationInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPURUNTIMESTATE:
        {
            if (other.m_type == INJECTION_VGPURUNTIMESTATE)
            {
                memcpy(&m_value.VgpuRuntimeState, &other.m_value.VgpuRuntimeState, sizeof(*&m_value.VgpuRuntimeState));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPURUNTIMESTATE_PTR)
            {
                memcpy(&m_value.VgpuRuntimeState, other.m_value.VgpuRuntimeStatePtr, sizeof(*&m_value.VgpuRuntimeState));
                set = true;
            }
            break;
        }
        case INJECTION_VGPURUNTIMESTATE_PTR:
        {
            if (other.m_type == INJECTION_VGPURUNTIMESTATE_PTR)
            {
                memcpy(m_value.VgpuRuntimeStatePtr, other.m_value.VgpuRuntimeStatePtr, sizeof(*m_value.VgpuRuntimeStatePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPURUNTIMESTATE)
            {
                memcpy(m_value.VgpuRuntimeStatePtr, &other.m_value.VgpuRuntimeState, sizeof(*m_value.VgpuRuntimeStatePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUSCHEDULERCAPABILITIES:
        {
            if (other.m_type == INJECTION_VGPUSCHEDULERCAPABILITIES)
            {
                memcpy(&m_value.VgpuSchedulerCapabilities, &other.m_value.VgpuSchedulerCapabilities, sizeof(*&m_value.VgpuSchedulerCapabilities));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUSCHEDULERCAPABILITIES_PTR)
            {
                memcpy(&m_value.VgpuSchedulerCapabilities, other.m_value.VgpuSchedulerCapabilitiesPtr, sizeof(*&m_value.VgpuSchedulerCapabilities));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUSCHEDULERCAPABILITIES_PTR:
        {
            if (other.m_type == INJECTION_VGPUSCHEDULERCAPABILITIES_PTR)
            {
                memcpy(m_value.VgpuSchedulerCapabilitiesPtr, other.m_value.VgpuSchedulerCapabilitiesPtr, sizeof(*m_value.VgpuSchedulerCapabilitiesPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUSCHEDULERCAPABILITIES)
            {
                memcpy(m_value.VgpuSchedulerCapabilitiesPtr, &other.m_value.VgpuSchedulerCapabilities, sizeof(*m_value.VgpuSchedulerCapabilitiesPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUSCHEDULERGETSTATE:
        {
            if (other.m_type == INJECTION_VGPUSCHEDULERGETSTATE)
            {
                memcpy(&m_value.VgpuSchedulerGetState, &other.m_value.VgpuSchedulerGetState, sizeof(*&m_value.VgpuSchedulerGetState));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUSCHEDULERGETSTATE_PTR)
            {
                memcpy(&m_value.VgpuSchedulerGetState, other.m_value.VgpuSchedulerGetStatePtr, sizeof(*&m_value.VgpuSchedulerGetState));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUSCHEDULERGETSTATE_PTR:
        {
            if (other.m_type == INJECTION_VGPUSCHEDULERGETSTATE_PTR)
            {
                memcpy(m_value.VgpuSchedulerGetStatePtr, other.m_value.VgpuSchedulerGetStatePtr, sizeof(*m_value.VgpuSchedulerGetStatePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUSCHEDULERGETSTATE)
            {
                memcpy(m_value.VgpuSchedulerGetStatePtr, &other.m_value.VgpuSchedulerGetState, sizeof(*m_value.VgpuSchedulerGetStatePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUSCHEDULERLOGENTRY:
        {
            if (other.m_type == INJECTION_VGPUSCHEDULERLOGENTRY)
            {
                memcpy(&m_value.VgpuSchedulerLogEntry, &other.m_value.VgpuSchedulerLogEntry, sizeof(*&m_value.VgpuSchedulerLogEntry));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUSCHEDULERLOGENTRY_PTR)
            {
                memcpy(&m_value.VgpuSchedulerLogEntry, other.m_value.VgpuSchedulerLogEntryPtr, sizeof(*&m_value.VgpuSchedulerLogEntry));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUSCHEDULERLOGENTRY_PTR:
        {
            if (other.m_type == INJECTION_VGPUSCHEDULERLOGENTRY_PTR)
            {
                memcpy(m_value.VgpuSchedulerLogEntryPtr, other.m_value.VgpuSchedulerLogEntryPtr, sizeof(*m_value.VgpuSchedulerLogEntryPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUSCHEDULERLOGENTRY)
            {
                memcpy(m_value.VgpuSchedulerLogEntryPtr, &other.m_value.VgpuSchedulerLogEntry, sizeof(*m_value.VgpuSchedulerLogEntryPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUSCHEDULERLOG:
        {
            if (other.m_type == INJECTION_VGPUSCHEDULERLOG)
            {
                memcpy(&m_value.VgpuSchedulerLog, &other.m_value.VgpuSchedulerLog, sizeof(*&m_value.VgpuSchedulerLog));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUSCHEDULERLOG_PTR)
            {
                memcpy(&m_value.VgpuSchedulerLog, other.m_value.VgpuSchedulerLogPtr, sizeof(*&m_value.VgpuSchedulerLog));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUSCHEDULERLOG_PTR:
        {
            if (other.m_type == INJECTION_VGPUSCHEDULERLOG_PTR)
            {
                memcpy(m_value.VgpuSchedulerLogPtr, other.m_value.VgpuSchedulerLogPtr, sizeof(*m_value.VgpuSchedulerLogPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUSCHEDULERLOG)
            {
                memcpy(m_value.VgpuSchedulerLogPtr, &other.m_value.VgpuSchedulerLog, sizeof(*m_value.VgpuSchedulerLogPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUSCHEDULERSETSTATE:
        {
            if (other.m_type == INJECTION_VGPUSCHEDULERSETSTATE)
            {
                memcpy(&m_value.VgpuSchedulerSetState, &other.m_value.VgpuSchedulerSetState, sizeof(*&m_value.VgpuSchedulerSetState));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUSCHEDULERSETSTATE_PTR)
            {
                memcpy(&m_value.VgpuSchedulerSetState, other.m_value.VgpuSchedulerSetStatePtr, sizeof(*&m_value.VgpuSchedulerSetState));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUSCHEDULERSETSTATE_PTR:
        {
            if (other.m_type == INJECTION_VGPUSCHEDULERSETSTATE_PTR)
            {
                memcpy(m_value.VgpuSchedulerSetStatePtr, other.m_value.VgpuSchedulerSetStatePtr, sizeof(*m_value.VgpuSchedulerSetStatePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUSCHEDULERSETSTATE)
            {
                memcpy(m_value.VgpuSchedulerSetStatePtr, &other.m_value.VgpuSchedulerSetState, sizeof(*m_value.VgpuSchedulerSetStatePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUTYPEBAR1INFO:
        {
            if (other.m_type == INJECTION_VGPUTYPEBAR1INFO)
            {
                memcpy(&m_value.VgpuTypeBar1Info, &other.m_value.VgpuTypeBar1Info, sizeof(*&m_value.VgpuTypeBar1Info));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUTYPEBAR1INFO_PTR)
            {
                memcpy(&m_value.VgpuTypeBar1Info, other.m_value.VgpuTypeBar1InfoPtr, sizeof(*&m_value.VgpuTypeBar1Info));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUTYPEBAR1INFO_PTR:
        {
            if (other.m_type == INJECTION_VGPUTYPEBAR1INFO_PTR)
            {
                memcpy(m_value.VgpuTypeBar1InfoPtr, other.m_value.VgpuTypeBar1InfoPtr, sizeof(*m_value.VgpuTypeBar1InfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUTYPEBAR1INFO)
            {
                memcpy(m_value.VgpuTypeBar1InfoPtr, &other.m_value.VgpuTypeBar1Info, sizeof(*m_value.VgpuTypeBar1InfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUTYPEID:
        {
            if (other.m_type == INJECTION_VGPUTYPEID)
            {
                memcpy(&m_value.VgpuTypeId, &other.m_value.VgpuTypeId, sizeof(*&m_value.VgpuTypeId));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUTYPEID_PTR)
            {
                memcpy(&m_value.VgpuTypeId, other.m_value.VgpuTypeIdPtr, sizeof(*&m_value.VgpuTypeId));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUTYPEID_PTR:
        {
            if (other.m_type == INJECTION_VGPUTYPEID_PTR)
            {
                memcpy(m_value.VgpuTypeIdPtr, other.m_value.VgpuTypeIdPtr, sizeof(*m_value.VgpuTypeIdPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUTYPEID)
            {
                memcpy(m_value.VgpuTypeIdPtr, &other.m_value.VgpuTypeId, sizeof(*m_value.VgpuTypeIdPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUVERSION:
        {
            if (other.m_type == INJECTION_VGPUVERSION)
            {
                memcpy(&m_value.VgpuVersion, &other.m_value.VgpuVersion, sizeof(*&m_value.VgpuVersion));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUVERSION_PTR)
            {
                memcpy(&m_value.VgpuVersion, other.m_value.VgpuVersionPtr, sizeof(*&m_value.VgpuVersion));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUVERSION_PTR:
        {
            if (other.m_type == INJECTION_VGPUVERSION_PTR)
            {
                memcpy(m_value.VgpuVersionPtr, other.m_value.VgpuVersionPtr, sizeof(*m_value.VgpuVersionPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUVERSION)
            {
                memcpy(m_value.VgpuVersionPtr, &other.m_value.VgpuVersion, sizeof(*m_value.VgpuVersionPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUVMCOMPATIBILITY:
        {
            if (other.m_type == INJECTION_VGPUVMCOMPATIBILITY)
            {
                memcpy(&m_value.VgpuVmCompatibility, &other.m_value.VgpuVmCompatibility, sizeof(*&m_value.VgpuVmCompatibility));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUVMCOMPATIBILITY_PTR)
            {
                memcpy(&m_value.VgpuVmCompatibility, other.m_value.VgpuVmCompatibilityPtr, sizeof(*&m_value.VgpuVmCompatibility));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUVMCOMPATIBILITY_PTR:
        {
            if (other.m_type == INJECTION_VGPUVMCOMPATIBILITY_PTR)
            {
                memcpy(m_value.VgpuVmCompatibilityPtr, other.m_value.VgpuVmCompatibilityPtr, sizeof(*m_value.VgpuVmCompatibilityPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUVMCOMPATIBILITY)
            {
                memcpy(m_value.VgpuVmCompatibilityPtr, &other.m_value.VgpuVmCompatibility, sizeof(*m_value.VgpuVmCompatibilityPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VGPUVMIDTYPE:
        {
            if (other.m_type == INJECTION_VGPUVMIDTYPE)
            {
                memcpy(&m_value.VgpuVmIdType, &other.m_value.VgpuVmIdType, sizeof(*&m_value.VgpuVmIdType));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUVMIDTYPE_PTR)
            {
                memcpy(&m_value.VgpuVmIdType, other.m_value.VgpuVmIdTypePtr, sizeof(*&m_value.VgpuVmIdType));
                set = true;
            }
            break;
        }
        case INJECTION_VGPUVMIDTYPE_PTR:
        {
            if (other.m_type == INJECTION_VGPUVMIDTYPE_PTR)
            {
                memcpy(m_value.VgpuVmIdTypePtr, other.m_value.VgpuVmIdTypePtr, sizeof(*m_value.VgpuVmIdTypePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VGPUVMIDTYPE)
            {
                memcpy(m_value.VgpuVmIdTypePtr, &other.m_value.VgpuVmIdType, sizeof(*m_value.VgpuVmIdTypePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_VIOLATIONTIME:
        {
            if (other.m_type == INJECTION_VIOLATIONTIME)
            {
                memcpy(&m_value.ViolationTime, &other.m_value.ViolationTime, sizeof(*&m_value.ViolationTime));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VIOLATIONTIME_PTR)
            {
                memcpy(&m_value.ViolationTime, other.m_value.ViolationTimePtr, sizeof(*&m_value.ViolationTime));
                set = true;
            }
            break;
        }
        case INJECTION_VIOLATIONTIME_PTR:
        {
            if (other.m_type == INJECTION_VIOLATIONTIME_PTR)
            {
                memcpy(m_value.ViolationTimePtr, other.m_value.ViolationTimePtr, sizeof(*m_value.ViolationTimePtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_VIOLATIONTIME)
            {
                memcpy(m_value.ViolationTimePtr, &other.m_value.ViolationTime, sizeof(*m_value.ViolationTimePtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_WORKLOADPOWERPROFILECURRENTPROFILES:
        {
            if (other.m_type == INJECTION_WORKLOADPOWERPROFILECURRENTPROFILES)
            {
                memcpy(&m_value.WorkloadPowerProfileCurrentProfiles, &other.m_value.WorkloadPowerProfileCurrentProfiles, sizeof(*&m_value.WorkloadPowerProfileCurrentProfiles));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_WORKLOADPOWERPROFILECURRENTPROFILES_PTR)
            {
                memcpy(&m_value.WorkloadPowerProfileCurrentProfiles, other.m_value.WorkloadPowerProfileCurrentProfilesPtr, sizeof(*&m_value.WorkloadPowerProfileCurrentProfiles));
                set = true;
            }
            break;
        }
        case INJECTION_WORKLOADPOWERPROFILECURRENTPROFILES_PTR:
        {
            if (other.m_type == INJECTION_WORKLOADPOWERPROFILECURRENTPROFILES_PTR)
            {
                memcpy(m_value.WorkloadPowerProfileCurrentProfilesPtr, other.m_value.WorkloadPowerProfileCurrentProfilesPtr, sizeof(*m_value.WorkloadPowerProfileCurrentProfilesPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_WORKLOADPOWERPROFILECURRENTPROFILES)
            {
                memcpy(m_value.WorkloadPowerProfileCurrentProfilesPtr, &other.m_value.WorkloadPowerProfileCurrentProfiles, sizeof(*m_value.WorkloadPowerProfileCurrentProfilesPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_WORKLOADPOWERPROFILEINFO:
        {
            if (other.m_type == INJECTION_WORKLOADPOWERPROFILEINFO)
            {
                memcpy(&m_value.WorkloadPowerProfileInfo, &other.m_value.WorkloadPowerProfileInfo, sizeof(*&m_value.WorkloadPowerProfileInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_WORKLOADPOWERPROFILEINFO_PTR)
            {
                memcpy(&m_value.WorkloadPowerProfileInfo, other.m_value.WorkloadPowerProfileInfoPtr, sizeof(*&m_value.WorkloadPowerProfileInfo));
                set = true;
            }
            break;
        }
        case INJECTION_WORKLOADPOWERPROFILEINFO_PTR:
        {
            if (other.m_type == INJECTION_WORKLOADPOWERPROFILEINFO_PTR)
            {
                memcpy(m_value.WorkloadPowerProfileInfoPtr, other.m_value.WorkloadPowerProfileInfoPtr, sizeof(*m_value.WorkloadPowerProfileInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_WORKLOADPOWERPROFILEINFO)
            {
                memcpy(m_value.WorkloadPowerProfileInfoPtr, &other.m_value.WorkloadPowerProfileInfo, sizeof(*m_value.WorkloadPowerProfileInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_WORKLOADPOWERPROFILEPROFILESINFO:
        {
            if (other.m_type == INJECTION_WORKLOADPOWERPROFILEPROFILESINFO)
            {
                memcpy(&m_value.WorkloadPowerProfileProfilesInfo, &other.m_value.WorkloadPowerProfileProfilesInfo, sizeof(*&m_value.WorkloadPowerProfileProfilesInfo));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_WORKLOADPOWERPROFILEPROFILESINFO_PTR)
            {
                memcpy(&m_value.WorkloadPowerProfileProfilesInfo, other.m_value.WorkloadPowerProfileProfilesInfoPtr, sizeof(*&m_value.WorkloadPowerProfileProfilesInfo));
                set = true;
            }
            break;
        }
        case INJECTION_WORKLOADPOWERPROFILEPROFILESINFO_PTR:
        {
            if (other.m_type == INJECTION_WORKLOADPOWERPROFILEPROFILESINFO_PTR)
            {
                memcpy(m_value.WorkloadPowerProfileProfilesInfoPtr, other.m_value.WorkloadPowerProfileProfilesInfoPtr, sizeof(*m_value.WorkloadPowerProfileProfilesInfoPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_WORKLOADPOWERPROFILEPROFILESINFO)
            {
                memcpy(m_value.WorkloadPowerProfileProfilesInfoPtr, &other.m_value.WorkloadPowerProfileProfilesInfo, sizeof(*m_value.WorkloadPowerProfileProfilesInfoPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_WORKLOADPOWERPROFILEREQUESTEDPROFILES:
        {
            if (other.m_type == INJECTION_WORKLOADPOWERPROFILEREQUESTEDPROFILES)
            {
                memcpy(&m_value.WorkloadPowerProfileRequestedProfiles, &other.m_value.WorkloadPowerProfileRequestedProfiles, sizeof(*&m_value.WorkloadPowerProfileRequestedProfiles));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_WORKLOADPOWERPROFILEREQUESTEDPROFILES_PTR)
            {
                memcpy(&m_value.WorkloadPowerProfileRequestedProfiles, other.m_value.WorkloadPowerProfileRequestedProfilesPtr, sizeof(*&m_value.WorkloadPowerProfileRequestedProfiles));
                set = true;
            }
            break;
        }
        case INJECTION_WORKLOADPOWERPROFILEREQUESTEDPROFILES_PTR:
        {
            if (other.m_type == INJECTION_WORKLOADPOWERPROFILEREQUESTEDPROFILES_PTR)
            {
                memcpy(m_value.WorkloadPowerProfileRequestedProfilesPtr, other.m_value.WorkloadPowerProfileRequestedProfilesPtr, sizeof(*m_value.WorkloadPowerProfileRequestedProfilesPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_WORKLOADPOWERPROFILEREQUESTEDPROFILES)
            {
                memcpy(m_value.WorkloadPowerProfileRequestedProfilesPtr, &other.m_value.WorkloadPowerProfileRequestedProfiles, sizeof(*m_value.WorkloadPowerProfileRequestedProfilesPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_SHORT:
        {
            if (other.m_type == INJECTION_SHORT)
            {
                memcpy(&m_value.Short, &other.m_value.Short, sizeof(*&m_value.Short));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_SHORT_PTR)
            {
                memcpy(&m_value.Short, other.m_value.ShortPtr, sizeof(*&m_value.Short));
                set = true;
            }
            break;
        }
        case INJECTION_SHORT_PTR:
        {
            if (other.m_type == INJECTION_SHORT_PTR)
            {
                memcpy(m_value.ShortPtr, other.m_value.ShortPtr, sizeof(*m_value.ShortPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_SHORT)
            {
                memcpy(m_value.ShortPtr, &other.m_value.Short, sizeof(*m_value.ShortPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_UCHAR:
        {
            if (other.m_type == INJECTION_UCHAR)
            {
                memcpy(&m_value.UChar, &other.m_value.UChar, sizeof(*&m_value.UChar));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_UCHAR_PTR)
            {
                memcpy(&m_value.UChar, other.m_value.UCharPtr, sizeof(*&m_value.UChar));
                set = true;
            }
            break;
        }
        case INJECTION_UCHAR_PTR:
        {
            if (other.m_type == INJECTION_UCHAR_PTR)
            {
                memcpy(m_value.UCharPtr, other.m_value.UCharPtr, sizeof(*m_value.UCharPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_UCHAR)
            {
                memcpy(m_value.UCharPtr, &other.m_value.UChar, sizeof(*m_value.UCharPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_UINT:
        {
            if (other.m_type == INJECTION_UINT)
            {
                memcpy(&m_value.UInt, &other.m_value.UInt, sizeof(*&m_value.UInt));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_UINT_PTR)
            {
                memcpy(&m_value.UInt, other.m_value.UIntPtr, sizeof(*&m_value.UInt));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_INT && other.m_value.Int > 0)
            {
                this->m_value.UInt = other.m_value.Int;
                set = true;
            }
            else if (other.m_type == INJECTION_INT_PTR && *other.m_value.IntPtr > 0)
            {
                this->m_value.UInt = *other.m_value.IntPtr;
                set = true;
            }
            break;
        }
        case INJECTION_UINT_PTR:
        {
            if (other.m_type == INJECTION_UINT_PTR)
            {
                memcpy(m_value.UIntPtr, other.m_value.UIntPtr, sizeof(*m_value.UIntPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_UINT)
            {
                memcpy(m_value.UIntPtr, &other.m_value.UInt, sizeof(*m_value.UIntPtr));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_INT && other.m_value.Int > 0)
            {
                *this->m_value.UIntPtr = other.m_value.Int;
                set = true;
            }
            else if (other.m_type == INJECTION_INT_PTR && *other.m_value.IntPtr > 0)
            {
                *this->m_value.UIntPtr = *other.m_value.IntPtr;
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_ULONG:
        {
            if (other.m_type == INJECTION_ULONG)
            {
                memcpy(&m_value.ULong, &other.m_value.ULong, sizeof(*&m_value.ULong));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_ULONG_PTR)
            {
                memcpy(&m_value.ULong, other.m_value.ULongPtr, sizeof(*&m_value.ULong));
                set = true;
            }
            break;
        }
        case INJECTION_ULONG_PTR:
        {
            if (other.m_type == INJECTION_ULONG_PTR)
            {
                memcpy(m_value.ULongPtr, other.m_value.ULongPtr, sizeof(*m_value.ULongPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_ULONG)
            {
                memcpy(m_value.ULongPtr, &other.m_value.ULong, sizeof(*m_value.ULongPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_ULONG_LONG:
        {
            if (other.m_type == INJECTION_ULONG_LONG)
            {
                memcpy(&m_value.ULongLong, &other.m_value.ULongLong, sizeof(*&m_value.ULongLong));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_ULONG_LONG_PTR)
            {
                memcpy(&m_value.ULongLong, other.m_value.ULongLongPtr, sizeof(*&m_value.ULongLong));
                set = true;
            }
            break;
        }
        case INJECTION_ULONG_LONG_PTR:
        {
            if (other.m_type == INJECTION_ULONG_LONG_PTR)
            {
                memcpy(m_value.ULongLongPtr, other.m_value.ULongLongPtr, sizeof(*m_value.ULongLongPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_ULONG_LONG)
            {
                memcpy(m_value.ULongLongPtr, &other.m_value.ULongLong, sizeof(*m_value.ULongLongPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_set_value_from_case_entry
        case INJECTION_USHORT:
        {
            if (other.m_type == INJECTION_USHORT)
            {
                memcpy(&m_value.UShort, &other.m_value.UShort, sizeof(*&m_value.UShort));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_USHORT_PTR)
            {
                memcpy(&m_value.UShort, other.m_value.UShortPtr, sizeof(*&m_value.UShort));
                set = true;
            }
            break;
        }
        case INJECTION_USHORT_PTR:
        {
            if (other.m_type == INJECTION_USHORT_PTR)
            {
                memcpy(m_value.UShortPtr, other.m_value.UShortPtr, sizeof(*m_value.UShortPtr) * (other.m_isArray ? other.m_arrLen : 1));
                set = true;
            }
            // The following snippet is generated from write_set_value_from_case_entry
            else if (other.m_type == INJECTION_USHORT)
            {
                memcpy(m_value.UShortPtr, &other.m_value.UShort, sizeof(*m_value.UShortPtr));
                set = true;
            }
            break;
        }
        // The following snippet is generated from write_string_case_entry
        case INJECTION_STRING:
        {
            if (other.m_type == INJECTION_STRING)
            {
                this->m_str = other.m_str;
                set         = true;
            }
            else if (other.m_type == INJECTION_CHAR_PTR && other.m_value.Str != nullptr)
            {
                this->m_str = other.m_value.Str;
                set         = true;
            }
            break;
        }
        default:
            break;
    }
    if (set)
    {
        return NVML_SUCCESS;
    }
    else
    {
        return NVML_ERROR_INVALID_ARGUMENT;
    }
}

// The following snippet is generated from write_injection_argument_compare
int InjectionArgument::Compare(const InjectionArgument &other) const
{
    if (m_type < other.m_type)
    {
        return -1;
    }
    else if (m_type > other.m_type)
    {
        return 1;
    }
    else
    {
        if (m_type == INJECTION_STRING)
        {
            if (m_str < other.m_str)
            {
                return -1;
            }
            else if (m_str > other.m_str)
            {
                return 1;
            }
            else
            {
                return 0;
            }
        }
        else if (m_type == INJECTION_CONST_CHAR_PTR)
        {
            return strcmp(m_value.ConstStr, other.m_value.ConstStr);
        }
        else
        {
            switch (m_type)
            {
                case INJECTION_CHAR_PTR:
                {
                    return strcmp(m_value.Str, other.m_value.Str);
                    break; // NOT REACHED
                }
                case INJECTION_CHAR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.Char < other.m_value.Char)
                    {
                        return -1;
                    }
                    else if (m_value.Char > other.m_value.Char)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_DOUBLE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.DoublePtr == *other.m_value.DoublePtr)
                        {
                            return 0;
                        }
                        return *m_value.DoublePtr < *other.m_value.DoublePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.DoublePtr[i] == other.m_value.DoublePtr[i])
                        {
                            continue;
                        }
                        return m_value.DoublePtr[i] < other.m_value.DoublePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_DOUBLE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.Double < other.m_value.Double)
                    {
                        return -1;
                    }
                    else if (m_value.Double > other.m_value.Double)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_INT_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.IntPtr == *other.m_value.IntPtr)
                        {
                            return 0;
                        }
                        return *m_value.IntPtr < *other.m_value.IntPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.IntPtr[i] == other.m_value.IntPtr[i])
                        {
                            continue;
                        }
                        return m_value.IntPtr[i] < other.m_value.IntPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_INT:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.Int < other.m_value.Int)
                    {
                        return -1;
                    }
                    else if (m_value.Int > other.m_value.Int)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_LONG_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.LongPtr == *other.m_value.LongPtr)
                        {
                            return 0;
                        }
                        return *m_value.LongPtr < *other.m_value.LongPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.LongPtr[i] == other.m_value.LongPtr[i])
                        {
                            continue;
                        }
                        return m_value.LongPtr[i] < other.m_value.LongPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_LONG:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.Long < other.m_value.Long)
                    {
                        return -1;
                    }
                    else if (m_value.Long > other.m_value.Long)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_LONG_LONG_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.LongLongPtr == *other.m_value.LongLongPtr)
                        {
                            return 0;
                        }
                        return *m_value.LongLongPtr < *other.m_value.LongLongPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.LongLongPtr[i] == other.m_value.LongLongPtr[i])
                        {
                            continue;
                        }
                        return m_value.LongLongPtr[i] < other.m_value.LongLongPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_LONG_LONG:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.LongLong < other.m_value.LongLong)
                    {
                        return -1;
                    }
                    else if (m_value.LongLong > other.m_value.LongLong)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_ACCOUNTINGSTATS_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlAccountingStats_tCompare(*m_value.AccountingStatsPtr, *other.m_value.AccountingStatsPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlAccountingStats_tCompare(*m_value.AccountingStatsPtr, *other.m_value.AccountingStatsPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_ACCOUNTINGSTATS:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlAccountingStats_tCompare(m_value.AccountingStats, other.m_value.AccountingStats);
                    break; // NOT REACHED
                }
                case INJECTION_AFFINITYSCOPE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.AffinityScopePtr == *other.m_value.AffinityScopePtr)
                        {
                            return 0;
                        }
                        return *m_value.AffinityScopePtr < *other.m_value.AffinityScopePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.AffinityScopePtr[i] == other.m_value.AffinityScopePtr[i])
                        {
                            continue;
                        }
                        return m_value.AffinityScopePtr[i] < other.m_value.AffinityScopePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_AFFINITYSCOPE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.AffinityScope < other.m_value.AffinityScope)
                    {
                        return -1;
                    }
                    else if (m_value.AffinityScope > other.m_value.AffinityScope)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_BAR1MEMORY_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlBAR1Memory_tCompare(*m_value.BAR1MemoryPtr, *other.m_value.BAR1MemoryPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlBAR1Memory_tCompare(*m_value.BAR1MemoryPtr, *other.m_value.BAR1MemoryPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_BAR1MEMORY:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlBAR1Memory_tCompare(m_value.BAR1Memory, other.m_value.BAR1Memory);
                    break; // NOT REACHED
                }
                case INJECTION_BRANDTYPE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.BrandTypePtr == *other.m_value.BrandTypePtr)
                        {
                            return 0;
                        }
                        return *m_value.BrandTypePtr < *other.m_value.BrandTypePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.BrandTypePtr[i] == other.m_value.BrandTypePtr[i])
                        {
                            continue;
                        }
                        return m_value.BrandTypePtr[i] < other.m_value.BrandTypePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_BRANDTYPE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.BrandType < other.m_value.BrandType)
                    {
                        return -1;
                    }
                    else if (m_value.BrandType > other.m_value.BrandType)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_BRIDGECHIPHIERARCHY_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlBridgeChipHierarchy_tCompare(*m_value.BridgeChipHierarchyPtr, *other.m_value.BridgeChipHierarchyPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlBridgeChipHierarchy_tCompare(*m_value.BridgeChipHierarchyPtr, *other.m_value.BridgeChipHierarchyPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_BRIDGECHIPHIERARCHY:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlBridgeChipHierarchy_tCompare(m_value.BridgeChipHierarchy, other.m_value.BridgeChipHierarchy);
                    break; // NOT REACHED
                }
                case INJECTION_BRIDGECHIPINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlBridgeChipInfo_tCompare(*m_value.BridgeChipInfoPtr, *other.m_value.BridgeChipInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlBridgeChipInfo_tCompare(*m_value.BridgeChipInfoPtr, *other.m_value.BridgeChipInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_BRIDGECHIPINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlBridgeChipInfo_tCompare(m_value.BridgeChipInfo, other.m_value.BridgeChipInfo);
                    break; // NOT REACHED
                }
                case INJECTION_BRIDGECHIPTYPE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.BridgeChipTypePtr == *other.m_value.BridgeChipTypePtr)
                        {
                            return 0;
                        }
                        return *m_value.BridgeChipTypePtr < *other.m_value.BridgeChipTypePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.BridgeChipTypePtr[i] == other.m_value.BridgeChipTypePtr[i])
                        {
                            continue;
                        }
                        return m_value.BridgeChipTypePtr[i] < other.m_value.BridgeChipTypePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_BRIDGECHIPTYPE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.BridgeChipType < other.m_value.BridgeChipType)
                    {
                        return -1;
                    }
                    else if (m_value.BridgeChipType > other.m_value.BridgeChipType)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_BUSTYPE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.BusTypePtr == *other.m_value.BusTypePtr)
                        {
                            return 0;
                        }
                        return *m_value.BusTypePtr < *other.m_value.BusTypePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.BusTypePtr[i] == other.m_value.BusTypePtr[i])
                        {
                            continue;
                        }
                        return m_value.BusTypePtr[i] < other.m_value.BusTypePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_BUSTYPE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.BusType < other.m_value.BusType)
                    {
                        return -1;
                    }
                    else if (m_value.BusType > other.m_value.BusType)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_C2CMODEINFO_V1_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlC2cModeInfo_v1_tCompare(*m_value.C2cModeInfo_v1Ptr, *other.m_value.C2cModeInfo_v1Ptr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlC2cModeInfo_v1_tCompare(*m_value.C2cModeInfo_v1Ptr, *other.m_value.C2cModeInfo_v1Ptr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_C2CMODEINFO_V1:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlC2cModeInfo_v1_tCompare(m_value.C2cModeInfo_v1, other.m_value.C2cModeInfo_v1);
                    break; // NOT REACHED
                }
                case INJECTION_CLKMONFAULTINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlClkMonFaultInfo_tCompare(*m_value.ClkMonFaultInfoPtr, *other.m_value.ClkMonFaultInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlClkMonFaultInfo_tCompare(*m_value.ClkMonFaultInfoPtr, *other.m_value.ClkMonFaultInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_CLKMONFAULTINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlClkMonFaultInfo_tCompare(m_value.ClkMonFaultInfo, other.m_value.ClkMonFaultInfo);
                    break; // NOT REACHED
                }
                case INJECTION_CLKMONSTATUS_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlClkMonStatus_tCompare(*m_value.ClkMonStatusPtr, *other.m_value.ClkMonStatusPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlClkMonStatus_tCompare(*m_value.ClkMonStatusPtr, *other.m_value.ClkMonStatusPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_CLKMONSTATUS:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlClkMonStatus_tCompare(m_value.ClkMonStatus, other.m_value.ClkMonStatus);
                    break; // NOT REACHED
                }
                case INJECTION_CLOCKID_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.ClockIdPtr == *other.m_value.ClockIdPtr)
                        {
                            return 0;
                        }
                        return *m_value.ClockIdPtr < *other.m_value.ClockIdPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.ClockIdPtr[i] == other.m_value.ClockIdPtr[i])
                        {
                            continue;
                        }
                        return m_value.ClockIdPtr[i] < other.m_value.ClockIdPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_CLOCKID:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.ClockId < other.m_value.ClockId)
                    {
                        return -1;
                    }
                    else if (m_value.ClockId > other.m_value.ClockId)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_CLOCKLIMITID_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.ClockLimitIdPtr == *other.m_value.ClockLimitIdPtr)
                        {
                            return 0;
                        }
                        return *m_value.ClockLimitIdPtr < *other.m_value.ClockLimitIdPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.ClockLimitIdPtr[i] == other.m_value.ClockLimitIdPtr[i])
                        {
                            continue;
                        }
                        return m_value.ClockLimitIdPtr[i] < other.m_value.ClockLimitIdPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_CLOCKLIMITID:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.ClockLimitId < other.m_value.ClockLimitId)
                    {
                        return -1;
                    }
                    else if (m_value.ClockLimitId > other.m_value.ClockLimitId)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_CLOCKOFFSET_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlClockOffset_tCompare(*m_value.ClockOffsetPtr, *other.m_value.ClockOffsetPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlClockOffset_tCompare(*m_value.ClockOffsetPtr, *other.m_value.ClockOffsetPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_CLOCKOFFSET:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlClockOffset_tCompare(m_value.ClockOffset, other.m_value.ClockOffset);
                    break; // NOT REACHED
                }
                case INJECTION_CLOCKTYPE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.ClockTypePtr == *other.m_value.ClockTypePtr)
                        {
                            return 0;
                        }
                        return *m_value.ClockTypePtr < *other.m_value.ClockTypePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.ClockTypePtr[i] == other.m_value.ClockTypePtr[i])
                        {
                            continue;
                        }
                        return m_value.ClockTypePtr[i] < other.m_value.ClockTypePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_CLOCKTYPE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.ClockType < other.m_value.ClockType)
                    {
                        return -1;
                    }
                    else if (m_value.ClockType > other.m_value.ClockType)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_COMPUTEINSTANCEINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlComputeInstanceInfo_tCompare(*m_value.ComputeInstanceInfoPtr, *other.m_value.ComputeInstanceInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlComputeInstanceInfo_tCompare(*m_value.ComputeInstanceInfoPtr, *other.m_value.ComputeInstanceInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_COMPUTEINSTANCEINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlComputeInstanceInfo_tCompare(m_value.ComputeInstanceInfo, other.m_value.ComputeInstanceInfo);
                    break; // NOT REACHED
                }
                case INJECTION_COMPUTEINSTANCEPLACEMENT_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlComputeInstancePlacement_tCompare(*m_value.ComputeInstancePlacementPtr, *other.m_value.ComputeInstancePlacementPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlComputeInstancePlacement_tCompare(*m_value.ComputeInstancePlacementPtr, *other.m_value.ComputeInstancePlacementPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_COMPUTEINSTANCEPLACEMENT:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlComputeInstancePlacement_tCompare(m_value.ComputeInstancePlacement, other.m_value.ComputeInstancePlacement);
                    break; // NOT REACHED
                }
                case INJECTION_COMPUTEINSTANCEPROFILEINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlComputeInstanceProfileInfo_tCompare(*m_value.ComputeInstanceProfileInfoPtr, *other.m_value.ComputeInstanceProfileInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlComputeInstanceProfileInfo_tCompare(*m_value.ComputeInstanceProfileInfoPtr, *other.m_value.ComputeInstanceProfileInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_COMPUTEINSTANCEPROFILEINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlComputeInstanceProfileInfo_tCompare(m_value.ComputeInstanceProfileInfo, other.m_value.ComputeInstanceProfileInfo);
                    break; // NOT REACHED
                }
                case INJECTION_COMPUTEINSTANCEPROFILEINFO_V2_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlComputeInstanceProfileInfo_v2_tCompare(*m_value.ComputeInstanceProfileInfo_v2Ptr, *other.m_value.ComputeInstanceProfileInfo_v2Ptr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlComputeInstanceProfileInfo_v2_tCompare(*m_value.ComputeInstanceProfileInfo_v2Ptr, *other.m_value.ComputeInstanceProfileInfo_v2Ptr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_COMPUTEINSTANCEPROFILEINFO_V2:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlComputeInstanceProfileInfo_v2_tCompare(m_value.ComputeInstanceProfileInfo_v2, other.m_value.ComputeInstanceProfileInfo_v2);
                    break; // NOT REACHED
                }
                case INJECTION_COMPUTEINSTANCEPROFILEINFO_V3_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlComputeInstanceProfileInfo_v3_tCompare(*m_value.ComputeInstanceProfileInfo_v3Ptr, *other.m_value.ComputeInstanceProfileInfo_v3Ptr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlComputeInstanceProfileInfo_v3_tCompare(*m_value.ComputeInstanceProfileInfo_v3Ptr, *other.m_value.ComputeInstanceProfileInfo_v3Ptr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_COMPUTEINSTANCEPROFILEINFO_V3:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlComputeInstanceProfileInfo_v3_tCompare(m_value.ComputeInstanceProfileInfo_v3, other.m_value.ComputeInstanceProfileInfo_v3);
                    break; // NOT REACHED
                }
                case INJECTION_COMPUTEINSTANCE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    unsigned size = m_isArray ? m_arrLen : 1;
                    return memcmp(m_value.ComputeInstancePtr, other.m_value.ComputeInstancePtr, size * sizeof(*m_value.ComputeInstancePtr));
                    break; // NOT REACHED
                }
                case INJECTION_COMPUTEINSTANCE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.ComputeInstance < other.m_value.ComputeInstance)
                    {
                        return -1;
                    }
                    else if (m_value.ComputeInstance > other.m_value.ComputeInstance)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_COMPUTEMODE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.ComputeModePtr == *other.m_value.ComputeModePtr)
                        {
                            return 0;
                        }
                        return *m_value.ComputeModePtr < *other.m_value.ComputeModePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.ComputeModePtr[i] == other.m_value.ComputeModePtr[i])
                        {
                            continue;
                        }
                        return m_value.ComputeModePtr[i] < other.m_value.ComputeModePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_COMPUTEMODE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.ComputeMode < other.m_value.ComputeMode)
                    {
                        return -1;
                    }
                    else if (m_value.ComputeMode > other.m_value.ComputeMode)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_CONFCOMPUTEGETKEYROTATIONTHRESHOLDINFO_V1_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlConfComputeGetKeyRotationThresholdInfo_v1_tCompare(*m_value.ConfComputeGetKeyRotationThresholdInfo_v1Ptr, *other.m_value.ConfComputeGetKeyRotationThresholdInfo_v1Ptr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlConfComputeGetKeyRotationThresholdInfo_v1_tCompare(*m_value.ConfComputeGetKeyRotationThresholdInfo_v1Ptr, *other.m_value.ConfComputeGetKeyRotationThresholdInfo_v1Ptr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_CONFCOMPUTEGETKEYROTATIONTHRESHOLDINFO_V1:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlConfComputeGetKeyRotationThresholdInfo_v1_tCompare(m_value.ConfComputeGetKeyRotationThresholdInfo_v1, other.m_value.ConfComputeGetKeyRotationThresholdInfo_v1);
                    break; // NOT REACHED
                }
                case INJECTION_CONFCOMPUTEGPUATTESTATIONREPORT_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlConfComputeGpuAttestationReport_tCompare(*m_value.ConfComputeGpuAttestationReportPtr, *other.m_value.ConfComputeGpuAttestationReportPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlConfComputeGpuAttestationReport_tCompare(*m_value.ConfComputeGpuAttestationReportPtr, *other.m_value.ConfComputeGpuAttestationReportPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_CONFCOMPUTEGPUATTESTATIONREPORT:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlConfComputeGpuAttestationReport_tCompare(m_value.ConfComputeGpuAttestationReport, other.m_value.ConfComputeGpuAttestationReport);
                    break; // NOT REACHED
                }
                case INJECTION_CONFCOMPUTEGPUCERTIFICATE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlConfComputeGpuCertificate_tCompare(*m_value.ConfComputeGpuCertificatePtr, *other.m_value.ConfComputeGpuCertificatePtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlConfComputeGpuCertificate_tCompare(*m_value.ConfComputeGpuCertificatePtr, *other.m_value.ConfComputeGpuCertificatePtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_CONFCOMPUTEGPUCERTIFICATE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlConfComputeGpuCertificate_tCompare(m_value.ConfComputeGpuCertificate, other.m_value.ConfComputeGpuCertificate);
                    break; // NOT REACHED
                }
                case INJECTION_CONFCOMPUTEMEMSIZEINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlConfComputeMemSizeInfo_tCompare(*m_value.ConfComputeMemSizeInfoPtr, *other.m_value.ConfComputeMemSizeInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlConfComputeMemSizeInfo_tCompare(*m_value.ConfComputeMemSizeInfoPtr, *other.m_value.ConfComputeMemSizeInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_CONFCOMPUTEMEMSIZEINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlConfComputeMemSizeInfo_tCompare(m_value.ConfComputeMemSizeInfo, other.m_value.ConfComputeMemSizeInfo);
                    break; // NOT REACHED
                }
                case INJECTION_CONFCOMPUTESETKEYROTATIONTHRESHOLDINFO_V1_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlConfComputeSetKeyRotationThresholdInfo_v1_tCompare(*m_value.ConfComputeSetKeyRotationThresholdInfo_v1Ptr, *other.m_value.ConfComputeSetKeyRotationThresholdInfo_v1Ptr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlConfComputeSetKeyRotationThresholdInfo_v1_tCompare(*m_value.ConfComputeSetKeyRotationThresholdInfo_v1Ptr, *other.m_value.ConfComputeSetKeyRotationThresholdInfo_v1Ptr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_CONFCOMPUTESETKEYROTATIONTHRESHOLDINFO_V1:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlConfComputeSetKeyRotationThresholdInfo_v1_tCompare(m_value.ConfComputeSetKeyRotationThresholdInfo_v1, other.m_value.ConfComputeSetKeyRotationThresholdInfo_v1);
                    break; // NOT REACHED
                }
                case INJECTION_CONFCOMPUTESYSTEMCAPS_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlConfComputeSystemCaps_tCompare(*m_value.ConfComputeSystemCapsPtr, *other.m_value.ConfComputeSystemCapsPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlConfComputeSystemCaps_tCompare(*m_value.ConfComputeSystemCapsPtr, *other.m_value.ConfComputeSystemCapsPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_CONFCOMPUTESYSTEMCAPS:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlConfComputeSystemCaps_tCompare(m_value.ConfComputeSystemCaps, other.m_value.ConfComputeSystemCaps);
                    break; // NOT REACHED
                }
                case INJECTION_CONFCOMPUTESYSTEMSTATE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlConfComputeSystemState_tCompare(*m_value.ConfComputeSystemStatePtr, *other.m_value.ConfComputeSystemStatePtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlConfComputeSystemState_tCompare(*m_value.ConfComputeSystemStatePtr, *other.m_value.ConfComputeSystemStatePtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_CONFCOMPUTESYSTEMSTATE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlConfComputeSystemState_tCompare(m_value.ConfComputeSystemState, other.m_value.ConfComputeSystemState);
                    break; // NOT REACHED
                }
                case INJECTION_COOLERCONTROL_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.CoolerControlPtr == *other.m_value.CoolerControlPtr)
                        {
                            return 0;
                        }
                        return *m_value.CoolerControlPtr < *other.m_value.CoolerControlPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.CoolerControlPtr[i] == other.m_value.CoolerControlPtr[i])
                        {
                            continue;
                        }
                        return m_value.CoolerControlPtr[i] < other.m_value.CoolerControlPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_COOLERCONTROL:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.CoolerControl < other.m_value.CoolerControl)
                    {
                        return -1;
                    }
                    else if (m_value.CoolerControl > other.m_value.CoolerControl)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_COOLERINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlCoolerInfo_tCompare(*m_value.CoolerInfoPtr, *other.m_value.CoolerInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlCoolerInfo_tCompare(*m_value.CoolerInfoPtr, *other.m_value.CoolerInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_COOLERINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlCoolerInfo_tCompare(m_value.CoolerInfo, other.m_value.CoolerInfo);
                    break; // NOT REACHED
                }
                case INJECTION_COOLERTARGET_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.CoolerTargetPtr == *other.m_value.CoolerTargetPtr)
                        {
                            return 0;
                        }
                        return *m_value.CoolerTargetPtr < *other.m_value.CoolerTargetPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.CoolerTargetPtr[i] == other.m_value.CoolerTargetPtr[i])
                        {
                            continue;
                        }
                        return m_value.CoolerTargetPtr[i] < other.m_value.CoolerTargetPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_COOLERTARGET:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.CoolerTarget < other.m_value.CoolerTarget)
                    {
                        return -1;
                    }
                    else if (m_value.CoolerTarget > other.m_value.CoolerTarget)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_DETACHGPUSTATE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.DetachGpuStatePtr == *other.m_value.DetachGpuStatePtr)
                        {
                            return 0;
                        }
                        return *m_value.DetachGpuStatePtr < *other.m_value.DetachGpuStatePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.DetachGpuStatePtr[i] == other.m_value.DetachGpuStatePtr[i])
                        {
                            continue;
                        }
                        return m_value.DetachGpuStatePtr[i] < other.m_value.DetachGpuStatePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_DETACHGPUSTATE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.DetachGpuState < other.m_value.DetachGpuState)
                    {
                        return -1;
                    }
                    else if (m_value.DetachGpuState > other.m_value.DetachGpuState)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_DEVICEARCHITECTURE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.DeviceArchitecturePtr == *other.m_value.DeviceArchitecturePtr)
                        {
                            return 0;
                        }
                        return *m_value.DeviceArchitecturePtr < *other.m_value.DeviceArchitecturePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.DeviceArchitecturePtr[i] == other.m_value.DeviceArchitecturePtr[i])
                        {
                            continue;
                        }
                        return m_value.DeviceArchitecturePtr[i] < other.m_value.DeviceArchitecturePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_DEVICEARCHITECTURE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.DeviceArchitecture < other.m_value.DeviceArchitecture)
                    {
                        return -1;
                    }
                    else if (m_value.DeviceArchitecture > other.m_value.DeviceArchitecture)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_DEVICEATTRIBUTES_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlDeviceAttributes_tCompare(*m_value.DeviceAttributesPtr, *other.m_value.DeviceAttributesPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlDeviceAttributes_tCompare(*m_value.DeviceAttributesPtr, *other.m_value.DeviceAttributesPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_DEVICEATTRIBUTES:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlDeviceAttributes_tCompare(m_value.DeviceAttributes, other.m_value.DeviceAttributes);
                    break; // NOT REACHED
                }
                case INJECTION_DEVICECAPABILITIES_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlDeviceCapabilities_tCompare(*m_value.DeviceCapabilitiesPtr, *other.m_value.DeviceCapabilitiesPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlDeviceCapabilities_tCompare(*m_value.DeviceCapabilitiesPtr, *other.m_value.DeviceCapabilitiesPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_DEVICECAPABILITIES:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlDeviceCapabilities_tCompare(m_value.DeviceCapabilities, other.m_value.DeviceCapabilities);
                    break; // NOT REACHED
                }
                case INJECTION_DEVICECURRENTCLOCKFREQS_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlDeviceCurrentClockFreqs_tCompare(*m_value.DeviceCurrentClockFreqsPtr, *other.m_value.DeviceCurrentClockFreqsPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlDeviceCurrentClockFreqs_tCompare(*m_value.DeviceCurrentClockFreqsPtr, *other.m_value.DeviceCurrentClockFreqsPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_DEVICECURRENTCLOCKFREQS:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlDeviceCurrentClockFreqs_tCompare(m_value.DeviceCurrentClockFreqs, other.m_value.DeviceCurrentClockFreqs);
                    break; // NOT REACHED
                }
                case INJECTION_DEVICEGPURECOVERYACTION_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.DeviceGpuRecoveryActionPtr == *other.m_value.DeviceGpuRecoveryActionPtr)
                        {
                            return 0;
                        }
                        return *m_value.DeviceGpuRecoveryActionPtr < *other.m_value.DeviceGpuRecoveryActionPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.DeviceGpuRecoveryActionPtr[i] == other.m_value.DeviceGpuRecoveryActionPtr[i])
                        {
                            continue;
                        }
                        return m_value.DeviceGpuRecoveryActionPtr[i] < other.m_value.DeviceGpuRecoveryActionPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_DEVICEGPURECOVERYACTION:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.DeviceGpuRecoveryAction < other.m_value.DeviceGpuRecoveryAction)
                    {
                        return -1;
                    }
                    else if (m_value.DeviceGpuRecoveryAction > other.m_value.DeviceGpuRecoveryAction)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_DEVICEPERFMODES_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlDevicePerfModes_tCompare(*m_value.DevicePerfModesPtr, *other.m_value.DevicePerfModesPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlDevicePerfModes_tCompare(*m_value.DevicePerfModesPtr, *other.m_value.DevicePerfModesPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_DEVICEPERFMODES:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlDevicePerfModes_tCompare(m_value.DevicePerfModes, other.m_value.DevicePerfModes);
                    break; // NOT REACHED
                }
                case INJECTION_DEVICEVGPUCAPABILITY_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.DeviceVgpuCapabilityPtr == *other.m_value.DeviceVgpuCapabilityPtr)
                        {
                            return 0;
                        }
                        return *m_value.DeviceVgpuCapabilityPtr < *other.m_value.DeviceVgpuCapabilityPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.DeviceVgpuCapabilityPtr[i] == other.m_value.DeviceVgpuCapabilityPtr[i])
                        {
                            continue;
                        }
                        return m_value.DeviceVgpuCapabilityPtr[i] < other.m_value.DeviceVgpuCapabilityPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_DEVICEVGPUCAPABILITY:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.DeviceVgpuCapability < other.m_value.DeviceVgpuCapability)
                    {
                        return -1;
                    }
                    else if (m_value.DeviceVgpuCapability > other.m_value.DeviceVgpuCapability)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_DEVICE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    unsigned size = m_isArray ? m_arrLen : 1;
                    return memcmp(m_value.DevicePtr, other.m_value.DevicePtr, size * sizeof(*m_value.DevicePtr));
                    break; // NOT REACHED
                }
                case INJECTION_DEVICE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.Device < other.m_value.Device)
                    {
                        return -1;
                    }
                    else if (m_value.Device > other.m_value.Device)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_DRIVERMODEL_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.DriverModelPtr == *other.m_value.DriverModelPtr)
                        {
                            return 0;
                        }
                        return *m_value.DriverModelPtr < *other.m_value.DriverModelPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.DriverModelPtr[i] == other.m_value.DriverModelPtr[i])
                        {
                            continue;
                        }
                        return m_value.DriverModelPtr[i] < other.m_value.DriverModelPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_DRIVERMODEL:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.DriverModel < other.m_value.DriverModel)
                    {
                        return -1;
                    }
                    else if (m_value.DriverModel > other.m_value.DriverModel)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_ECCCOUNTERTYPE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.EccCounterTypePtr == *other.m_value.EccCounterTypePtr)
                        {
                            return 0;
                        }
                        return *m_value.EccCounterTypePtr < *other.m_value.EccCounterTypePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.EccCounterTypePtr[i] == other.m_value.EccCounterTypePtr[i])
                        {
                            continue;
                        }
                        return m_value.EccCounterTypePtr[i] < other.m_value.EccCounterTypePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_ECCCOUNTERTYPE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.EccCounterType < other.m_value.EccCounterType)
                    {
                        return -1;
                    }
                    else if (m_value.EccCounterType > other.m_value.EccCounterType)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_ECCERRORCOUNTS_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlEccErrorCounts_tCompare(*m_value.EccErrorCountsPtr, *other.m_value.EccErrorCountsPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlEccErrorCounts_tCompare(*m_value.EccErrorCountsPtr, *other.m_value.EccErrorCountsPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_ECCERRORCOUNTS:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlEccErrorCounts_tCompare(m_value.EccErrorCounts, other.m_value.EccErrorCounts);
                    break; // NOT REACHED
                }
                case INJECTION_ECCSRAMERRORSTATUS_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlEccSramErrorStatus_tCompare(*m_value.EccSramErrorStatusPtr, *other.m_value.EccSramErrorStatusPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlEccSramErrorStatus_tCompare(*m_value.EccSramErrorStatusPtr, *other.m_value.EccSramErrorStatusPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_ECCSRAMERRORSTATUS:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlEccSramErrorStatus_tCompare(m_value.EccSramErrorStatus, other.m_value.EccSramErrorStatus);
                    break; // NOT REACHED
                }
                case INJECTION_ENABLESTATE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.EnableStatePtr == *other.m_value.EnableStatePtr)
                        {
                            return 0;
                        }
                        return *m_value.EnableStatePtr < *other.m_value.EnableStatePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.EnableStatePtr[i] == other.m_value.EnableStatePtr[i])
                        {
                            continue;
                        }
                        return m_value.EnableStatePtr[i] < other.m_value.EnableStatePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_ENABLESTATE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.EnableState < other.m_value.EnableState)
                    {
                        return -1;
                    }
                    else if (m_value.EnableState > other.m_value.EnableState)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_ENCODERSESSIONINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlEncoderSessionInfo_tCompare(*m_value.EncoderSessionInfoPtr, *other.m_value.EncoderSessionInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlEncoderSessionInfo_tCompare(*m_value.EncoderSessionInfoPtr, *other.m_value.EncoderSessionInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_ENCODERSESSIONINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlEncoderSessionInfo_tCompare(m_value.EncoderSessionInfo, other.m_value.EncoderSessionInfo);
                    break; // NOT REACHED
                }
                case INJECTION_ENCODERTYPE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.EncoderTypePtr == *other.m_value.EncoderTypePtr)
                        {
                            return 0;
                        }
                        return *m_value.EncoderTypePtr < *other.m_value.EncoderTypePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.EncoderTypePtr[i] == other.m_value.EncoderTypePtr[i])
                        {
                            continue;
                        }
                        return m_value.EncoderTypePtr[i] < other.m_value.EncoderTypePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_ENCODERTYPE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.EncoderType < other.m_value.EncoderType)
                    {
                        return -1;
                    }
                    else if (m_value.EncoderType > other.m_value.EncoderType)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_EVENTDATA_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlEventData_tCompare(*m_value.EventDataPtr, *other.m_value.EventDataPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlEventData_tCompare(*m_value.EventDataPtr, *other.m_value.EventDataPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_EVENTDATA:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlEventData_tCompare(m_value.EventData, other.m_value.EventData);
                    break; // NOT REACHED
                }
                case INJECTION_EVENTSET_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    unsigned size = m_isArray ? m_arrLen : 1;
                    return memcmp(m_value.EventSetPtr, other.m_value.EventSetPtr, size * sizeof(*m_value.EventSetPtr));
                    break; // NOT REACHED
                }
                case INJECTION_EVENTSET:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return memcmp(&m_value.EventSet, &other.m_value.EventSet, sizeof(m_value.EventSet));
                    break; // NOT REACHED
                }
                case INJECTION_EXCLUDEDDEVICEINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlExcludedDeviceInfo_tCompare(*m_value.ExcludedDeviceInfoPtr, *other.m_value.ExcludedDeviceInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlExcludedDeviceInfo_tCompare(*m_value.ExcludedDeviceInfoPtr, *other.m_value.ExcludedDeviceInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_EXCLUDEDDEVICEINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlExcludedDeviceInfo_tCompare(m_value.ExcludedDeviceInfo, other.m_value.ExcludedDeviceInfo);
                    break; // NOT REACHED
                }
                case INJECTION_FBCSESSIONINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlFBCSessionInfo_tCompare(*m_value.FBCSessionInfoPtr, *other.m_value.FBCSessionInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlFBCSessionInfo_tCompare(*m_value.FBCSessionInfoPtr, *other.m_value.FBCSessionInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_FBCSESSIONINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlFBCSessionInfo_tCompare(m_value.FBCSessionInfo, other.m_value.FBCSessionInfo);
                    break; // NOT REACHED
                }
                case INJECTION_FBCSESSIONTYPE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.FBCSessionTypePtr == *other.m_value.FBCSessionTypePtr)
                        {
                            return 0;
                        }
                        return *m_value.FBCSessionTypePtr < *other.m_value.FBCSessionTypePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.FBCSessionTypePtr[i] == other.m_value.FBCSessionTypePtr[i])
                        {
                            continue;
                        }
                        return m_value.FBCSessionTypePtr[i] < other.m_value.FBCSessionTypePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_FBCSESSIONTYPE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.FBCSessionType < other.m_value.FBCSessionType)
                    {
                        return -1;
                    }
                    else if (m_value.FBCSessionType > other.m_value.FBCSessionType)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_FBCSTATS_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlFBCStats_tCompare(*m_value.FBCStatsPtr, *other.m_value.FBCStatsPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlFBCStats_tCompare(*m_value.FBCStatsPtr, *other.m_value.FBCStatsPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_FBCSTATS:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlFBCStats_tCompare(m_value.FBCStats, other.m_value.FBCStats);
                    break; // NOT REACHED
                }
                case INJECTION_FANCONTROLPOLICY_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.FanControlPolicyPtr == *other.m_value.FanControlPolicyPtr)
                        {
                            return 0;
                        }
                        return *m_value.FanControlPolicyPtr < *other.m_value.FanControlPolicyPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.FanControlPolicyPtr[i] == other.m_value.FanControlPolicyPtr[i])
                        {
                            continue;
                        }
                        return m_value.FanControlPolicyPtr[i] < other.m_value.FanControlPolicyPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_FANCONTROLPOLICY:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.FanControlPolicy < other.m_value.FanControlPolicy)
                    {
                        return -1;
                    }
                    else if (m_value.FanControlPolicy > other.m_value.FanControlPolicy)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_FANSPEEDINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlFanSpeedInfo_tCompare(*m_value.FanSpeedInfoPtr, *other.m_value.FanSpeedInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlFanSpeedInfo_tCompare(*m_value.FanSpeedInfoPtr, *other.m_value.FanSpeedInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_FANSPEEDINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlFanSpeedInfo_tCompare(m_value.FanSpeedInfo, other.m_value.FanSpeedInfo);
                    break; // NOT REACHED
                }
                case INJECTION_FANSTATE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.FanStatePtr == *other.m_value.FanStatePtr)
                        {
                            return 0;
                        }
                        return *m_value.FanStatePtr < *other.m_value.FanStatePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.FanStatePtr[i] == other.m_value.FanStatePtr[i])
                        {
                            continue;
                        }
                        return m_value.FanStatePtr[i] < other.m_value.FanStatePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_FANSTATE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.FanState < other.m_value.FanState)
                    {
                        return -1;
                    }
                    else if (m_value.FanState > other.m_value.FanState)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_FIELDVALUE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlFieldValue_tCompare(*m_value.FieldValuePtr, *other.m_value.FieldValuePtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlFieldValue_tCompare(*m_value.FieldValuePtr, *other.m_value.FieldValuePtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_FIELDVALUE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlFieldValue_tCompare(m_value.FieldValue, other.m_value.FieldValue);
                    break; // NOT REACHED
                }
                case INJECTION_GPMMETRICID_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.GpmMetricIdPtr == *other.m_value.GpmMetricIdPtr)
                        {
                            return 0;
                        }
                        return *m_value.GpmMetricIdPtr < *other.m_value.GpmMetricIdPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.GpmMetricIdPtr[i] == other.m_value.GpmMetricIdPtr[i])
                        {
                            continue;
                        }
                        return m_value.GpmMetricIdPtr[i] < other.m_value.GpmMetricIdPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_GPMMETRICID:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.GpmMetricId < other.m_value.GpmMetricId)
                    {
                        return -1;
                    }
                    else if (m_value.GpmMetricId > other.m_value.GpmMetricId)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_GPMMETRIC_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    unsigned size = m_isArray ? m_arrLen : 1;
                    return memcmp(m_value.GpmMetricPtr, other.m_value.GpmMetricPtr, size * sizeof(*m_value.GpmMetricPtr));
                    break; // NOT REACHED
                }
                case INJECTION_GPMMETRIC:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return memcmp(&m_value.GpmMetric, &other.m_value.GpmMetric, sizeof(m_value.GpmMetric));
                    break; // NOT REACHED
                }
                case INJECTION_GPMMETRICSGET_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    unsigned size = m_isArray ? m_arrLen : 1;
                    return memcmp(m_value.GpmMetricsGetPtr, other.m_value.GpmMetricsGetPtr, size * sizeof(*m_value.GpmMetricsGetPtr));
                    break; // NOT REACHED
                }
                case INJECTION_GPMMETRICSGET:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return memcmp(&m_value.GpmMetricsGet, &other.m_value.GpmMetricsGet, sizeof(m_value.GpmMetricsGet));
                    break; // NOT REACHED
                }
                case INJECTION_GPMSAMPLE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    unsigned size = m_isArray ? m_arrLen : 1;
                    return memcmp(m_value.GpmSamplePtr, other.m_value.GpmSamplePtr, size * sizeof(*m_value.GpmSamplePtr));
                    break; // NOT REACHED
                }
                case INJECTION_GPMSAMPLE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return memcmp(&m_value.GpmSample, &other.m_value.GpmSample, sizeof(m_value.GpmSample));
                    break; // NOT REACHED
                }
                case INJECTION_GPMSUPPORT_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlGpmSupport_tCompare(*m_value.GpmSupportPtr, *other.m_value.GpmSupportPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlGpmSupport_tCompare(*m_value.GpmSupportPtr, *other.m_value.GpmSupportPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_GPMSUPPORT:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlGpmSupport_tCompare(m_value.GpmSupport, other.m_value.GpmSupport);
                    break; // NOT REACHED
                }
                case INJECTION_GPUDYNAMICPSTATESINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    unsigned size = m_isArray ? m_arrLen : 1;
                    return memcmp(m_value.GpuDynamicPstatesInfoPtr, other.m_value.GpuDynamicPstatesInfoPtr, size * sizeof(*m_value.GpuDynamicPstatesInfoPtr));
                    break; // NOT REACHED
                }
                case INJECTION_GPUDYNAMICPSTATESINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return memcmp(&m_value.GpuDynamicPstatesInfo, &other.m_value.GpuDynamicPstatesInfo, sizeof(m_value.GpuDynamicPstatesInfo));
                    break; // NOT REACHED
                }
                case INJECTION_GPUFABRICINFOV_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlGpuFabricInfoV_tCompare(*m_value.GpuFabricInfoVPtr, *other.m_value.GpuFabricInfoVPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlGpuFabricInfoV_tCompare(*m_value.GpuFabricInfoVPtr, *other.m_value.GpuFabricInfoVPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_GPUFABRICINFOV:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlGpuFabricInfoV_tCompare(m_value.GpuFabricInfoV, other.m_value.GpuFabricInfoV);
                    break; // NOT REACHED
                }
                case INJECTION_GPUFABRICINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlGpuFabricInfo_tCompare(*m_value.GpuFabricInfoPtr, *other.m_value.GpuFabricInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlGpuFabricInfo_tCompare(*m_value.GpuFabricInfoPtr, *other.m_value.GpuFabricInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_GPUFABRICINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlGpuFabricInfo_tCompare(m_value.GpuFabricInfo, other.m_value.GpuFabricInfo);
                    break; // NOT REACHED
                }
                case INJECTION_GPUFABRICSTATE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.GpuFabricStatePtr == *other.m_value.GpuFabricStatePtr)
                        {
                            return 0;
                        }
                        return *m_value.GpuFabricStatePtr < *other.m_value.GpuFabricStatePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.GpuFabricStatePtr[i] == other.m_value.GpuFabricStatePtr[i])
                        {
                            continue;
                        }
                        return m_value.GpuFabricStatePtr[i] < other.m_value.GpuFabricStatePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_GPUFABRICSTATE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.GpuFabricState < other.m_value.GpuFabricState)
                    {
                        return -1;
                    }
                    else if (m_value.GpuFabricState > other.m_value.GpuFabricState)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_GPUINSTANCEINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlGpuInstanceInfo_tCompare(*m_value.GpuInstanceInfoPtr, *other.m_value.GpuInstanceInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlGpuInstanceInfo_tCompare(*m_value.GpuInstanceInfoPtr, *other.m_value.GpuInstanceInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_GPUINSTANCEINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlGpuInstanceInfo_tCompare(m_value.GpuInstanceInfo, other.m_value.GpuInstanceInfo);
                    break; // NOT REACHED
                }
                case INJECTION_GPUINSTANCEPLACEMENT_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlGpuInstancePlacement_tCompare(*m_value.GpuInstancePlacementPtr, *other.m_value.GpuInstancePlacementPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlGpuInstancePlacement_tCompare(*m_value.GpuInstancePlacementPtr, *other.m_value.GpuInstancePlacementPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_GPUINSTANCEPLACEMENT:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlGpuInstancePlacement_tCompare(m_value.GpuInstancePlacement, other.m_value.GpuInstancePlacement);
                    break; // NOT REACHED
                }
                case INJECTION_GPUINSTANCEPROFILEINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlGpuInstanceProfileInfo_tCompare(*m_value.GpuInstanceProfileInfoPtr, *other.m_value.GpuInstanceProfileInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlGpuInstanceProfileInfo_tCompare(*m_value.GpuInstanceProfileInfoPtr, *other.m_value.GpuInstanceProfileInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_GPUINSTANCEPROFILEINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlGpuInstanceProfileInfo_tCompare(m_value.GpuInstanceProfileInfo, other.m_value.GpuInstanceProfileInfo);
                    break; // NOT REACHED
                }
                case INJECTION_GPUINSTANCEPROFILEINFO_V2_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlGpuInstanceProfileInfo_v2_tCompare(*m_value.GpuInstanceProfileInfo_v2Ptr, *other.m_value.GpuInstanceProfileInfo_v2Ptr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlGpuInstanceProfileInfo_v2_tCompare(*m_value.GpuInstanceProfileInfo_v2Ptr, *other.m_value.GpuInstanceProfileInfo_v2Ptr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_GPUINSTANCEPROFILEINFO_V2:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlGpuInstanceProfileInfo_v2_tCompare(m_value.GpuInstanceProfileInfo_v2, other.m_value.GpuInstanceProfileInfo_v2);
                    break; // NOT REACHED
                }
                case INJECTION_GPUINSTANCEPROFILEINFO_V3_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlGpuInstanceProfileInfo_v3_tCompare(*m_value.GpuInstanceProfileInfo_v3Ptr, *other.m_value.GpuInstanceProfileInfo_v3Ptr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlGpuInstanceProfileInfo_v3_tCompare(*m_value.GpuInstanceProfileInfo_v3Ptr, *other.m_value.GpuInstanceProfileInfo_v3Ptr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_GPUINSTANCEPROFILEINFO_V3:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlGpuInstanceProfileInfo_v3_tCompare(m_value.GpuInstanceProfileInfo_v3, other.m_value.GpuInstanceProfileInfo_v3);
                    break; // NOT REACHED
                }
                case INJECTION_GPUINSTANCE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    unsigned size = m_isArray ? m_arrLen : 1;
                    return memcmp(m_value.GpuInstancePtr, other.m_value.GpuInstancePtr, size * sizeof(*m_value.GpuInstancePtr));
                    break; // NOT REACHED
                }
                case INJECTION_GPUINSTANCE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return memcmp(&m_value.GpuInstance, &other.m_value.GpuInstance, sizeof(m_value.GpuInstance));
                    break; // NOT REACHED
                }
                case INJECTION_GPUOPERATIONMODE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.GpuOperationModePtr == *other.m_value.GpuOperationModePtr)
                        {
                            return 0;
                        }
                        return *m_value.GpuOperationModePtr < *other.m_value.GpuOperationModePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.GpuOperationModePtr[i] == other.m_value.GpuOperationModePtr[i])
                        {
                            continue;
                        }
                        return m_value.GpuOperationModePtr[i] < other.m_value.GpuOperationModePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_GPUOPERATIONMODE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.GpuOperationMode < other.m_value.GpuOperationMode)
                    {
                        return -1;
                    }
                    else if (m_value.GpuOperationMode > other.m_value.GpuOperationMode)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_GPUP2PCAPSINDEX_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.GpuP2PCapsIndexPtr == *other.m_value.GpuP2PCapsIndexPtr)
                        {
                            return 0;
                        }
                        return *m_value.GpuP2PCapsIndexPtr < *other.m_value.GpuP2PCapsIndexPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.GpuP2PCapsIndexPtr[i] == other.m_value.GpuP2PCapsIndexPtr[i])
                        {
                            continue;
                        }
                        return m_value.GpuP2PCapsIndexPtr[i] < other.m_value.GpuP2PCapsIndexPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_GPUP2PCAPSINDEX:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.GpuP2PCapsIndex < other.m_value.GpuP2PCapsIndex)
                    {
                        return -1;
                    }
                    else if (m_value.GpuP2PCapsIndex > other.m_value.GpuP2PCapsIndex)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_GPUP2PSTATUS_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.GpuP2PStatusPtr == *other.m_value.GpuP2PStatusPtr)
                        {
                            return 0;
                        }
                        return *m_value.GpuP2PStatusPtr < *other.m_value.GpuP2PStatusPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.GpuP2PStatusPtr[i] == other.m_value.GpuP2PStatusPtr[i])
                        {
                            continue;
                        }
                        return m_value.GpuP2PStatusPtr[i] < other.m_value.GpuP2PStatusPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_GPUP2PSTATUS:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.GpuP2PStatus < other.m_value.GpuP2PStatus)
                    {
                        return -1;
                    }
                    else if (m_value.GpuP2PStatus > other.m_value.GpuP2PStatus)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_GPUTHERMALSETTINGS_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    unsigned size = m_isArray ? m_arrLen : 1;
                    return memcmp(m_value.GpuThermalSettingsPtr, other.m_value.GpuThermalSettingsPtr, size * sizeof(*m_value.GpuThermalSettingsPtr));
                    break; // NOT REACHED
                }
                case INJECTION_GPUTHERMALSETTINGS:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return memcmp(&m_value.GpuThermalSettings, &other.m_value.GpuThermalSettings, sizeof(m_value.GpuThermalSettings));
                    break; // NOT REACHED
                }
                case INJECTION_GPUTOPOLOGYLEVEL_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.GpuTopologyLevelPtr == *other.m_value.GpuTopologyLevelPtr)
                        {
                            return 0;
                        }
                        return *m_value.GpuTopologyLevelPtr < *other.m_value.GpuTopologyLevelPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.GpuTopologyLevelPtr[i] == other.m_value.GpuTopologyLevelPtr[i])
                        {
                            continue;
                        }
                        return m_value.GpuTopologyLevelPtr[i] < other.m_value.GpuTopologyLevelPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_GPUTOPOLOGYLEVEL:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.GpuTopologyLevel < other.m_value.GpuTopologyLevel)
                    {
                        return -1;
                    }
                    else if (m_value.GpuTopologyLevel > other.m_value.GpuTopologyLevel)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_GPUUTILIZATIONDOMAINID_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.GpuUtilizationDomainIdPtr == *other.m_value.GpuUtilizationDomainIdPtr)
                        {
                            return 0;
                        }
                        return *m_value.GpuUtilizationDomainIdPtr < *other.m_value.GpuUtilizationDomainIdPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.GpuUtilizationDomainIdPtr[i] == other.m_value.GpuUtilizationDomainIdPtr[i])
                        {
                            continue;
                        }
                        return m_value.GpuUtilizationDomainIdPtr[i] < other.m_value.GpuUtilizationDomainIdPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_GPUUTILIZATIONDOMAINID:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.GpuUtilizationDomainId < other.m_value.GpuUtilizationDomainId)
                    {
                        return -1;
                    }
                    else if (m_value.GpuUtilizationDomainId > other.m_value.GpuUtilizationDomainId)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_GPUVIRTUALIZATIONMODE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.GpuVirtualizationModePtr == *other.m_value.GpuVirtualizationModePtr)
                        {
                            return 0;
                        }
                        return *m_value.GpuVirtualizationModePtr < *other.m_value.GpuVirtualizationModePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.GpuVirtualizationModePtr[i] == other.m_value.GpuVirtualizationModePtr[i])
                        {
                            continue;
                        }
                        return m_value.GpuVirtualizationModePtr[i] < other.m_value.GpuVirtualizationModePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_GPUVIRTUALIZATIONMODE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.GpuVirtualizationMode < other.m_value.GpuVirtualizationMode)
                    {
                        return -1;
                    }
                    else if (m_value.GpuVirtualizationMode > other.m_value.GpuVirtualizationMode)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_GRIDLICENSABLEFEATURE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlGridLicensableFeature_tCompare(*m_value.GridLicensableFeaturePtr, *other.m_value.GridLicensableFeaturePtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlGridLicensableFeature_tCompare(*m_value.GridLicensableFeaturePtr, *other.m_value.GridLicensableFeaturePtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_GRIDLICENSABLEFEATURE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlGridLicensableFeature_tCompare(m_value.GridLicensableFeature, other.m_value.GridLicensableFeature);
                    break; // NOT REACHED
                }
                case INJECTION_GRIDLICENSABLEFEATURES_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlGridLicensableFeatures_tCompare(*m_value.GridLicensableFeaturesPtr, *other.m_value.GridLicensableFeaturesPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlGridLicensableFeatures_tCompare(*m_value.GridLicensableFeaturesPtr, *other.m_value.GridLicensableFeaturesPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_GRIDLICENSABLEFEATURES:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlGridLicensableFeatures_tCompare(m_value.GridLicensableFeatures, other.m_value.GridLicensableFeatures);
                    break; // NOT REACHED
                }
                case INJECTION_GRIDLICENSEEXPIRY_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlGridLicenseExpiry_tCompare(*m_value.GridLicenseExpiryPtr, *other.m_value.GridLicenseExpiryPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlGridLicenseExpiry_tCompare(*m_value.GridLicenseExpiryPtr, *other.m_value.GridLicenseExpiryPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_GRIDLICENSEEXPIRY:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlGridLicenseExpiry_tCompare(m_value.GridLicenseExpiry, other.m_value.GridLicenseExpiry);
                    break; // NOT REACHED
                }
                case INJECTION_GRIDLICENSEFEATURECODE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.GridLicenseFeatureCodePtr == *other.m_value.GridLicenseFeatureCodePtr)
                        {
                            return 0;
                        }
                        return *m_value.GridLicenseFeatureCodePtr < *other.m_value.GridLicenseFeatureCodePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.GridLicenseFeatureCodePtr[i] == other.m_value.GridLicenseFeatureCodePtr[i])
                        {
                            continue;
                        }
                        return m_value.GridLicenseFeatureCodePtr[i] < other.m_value.GridLicenseFeatureCodePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_GRIDLICENSEFEATURECODE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.GridLicenseFeatureCode < other.m_value.GridLicenseFeatureCode)
                    {
                        return -1;
                    }
                    else if (m_value.GridLicenseFeatureCode > other.m_value.GridLicenseFeatureCode)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_HOSTVGPUMODE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.HostVgpuModePtr == *other.m_value.HostVgpuModePtr)
                        {
                            return 0;
                        }
                        return *m_value.HostVgpuModePtr < *other.m_value.HostVgpuModePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.HostVgpuModePtr[i] == other.m_value.HostVgpuModePtr[i])
                        {
                            continue;
                        }
                        return m_value.HostVgpuModePtr[i] < other.m_value.HostVgpuModePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_HOSTVGPUMODE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.HostVgpuMode < other.m_value.HostVgpuMode)
                    {
                        return -1;
                    }
                    else if (m_value.HostVgpuMode > other.m_value.HostVgpuMode)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_HWBCENTRY_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlHwbcEntry_tCompare(*m_value.HwbcEntryPtr, *other.m_value.HwbcEntryPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlHwbcEntry_tCompare(*m_value.HwbcEntryPtr, *other.m_value.HwbcEntryPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_HWBCENTRY:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlHwbcEntry_tCompare(m_value.HwbcEntry, other.m_value.HwbcEntry);
                    break; // NOT REACHED
                }
                case INJECTION_INFOROMOBJECT_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.InforomObjectPtr == *other.m_value.InforomObjectPtr)
                        {
                            return 0;
                        }
                        return *m_value.InforomObjectPtr < *other.m_value.InforomObjectPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.InforomObjectPtr[i] == other.m_value.InforomObjectPtr[i])
                        {
                            continue;
                        }
                        return m_value.InforomObjectPtr[i] < other.m_value.InforomObjectPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_INFOROMOBJECT:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.InforomObject < other.m_value.InforomObject)
                    {
                        return -1;
                    }
                    else if (m_value.InforomObject > other.m_value.InforomObject)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_INTNVLINKDEVICETYPE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.IntNvLinkDeviceTypePtr == *other.m_value.IntNvLinkDeviceTypePtr)
                        {
                            return 0;
                        }
                        return *m_value.IntNvLinkDeviceTypePtr < *other.m_value.IntNvLinkDeviceTypePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.IntNvLinkDeviceTypePtr[i] == other.m_value.IntNvLinkDeviceTypePtr[i])
                        {
                            continue;
                        }
                        return m_value.IntNvLinkDeviceTypePtr[i] < other.m_value.IntNvLinkDeviceTypePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_INTNVLINKDEVICETYPE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.IntNvLinkDeviceType < other.m_value.IntNvLinkDeviceType)
                    {
                        return -1;
                    }
                    else if (m_value.IntNvLinkDeviceType > other.m_value.IntNvLinkDeviceType)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_LEDCOLOR_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.LedColorPtr == *other.m_value.LedColorPtr)
                        {
                            return 0;
                        }
                        return *m_value.LedColorPtr < *other.m_value.LedColorPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.LedColorPtr[i] == other.m_value.LedColorPtr[i])
                        {
                            continue;
                        }
                        return m_value.LedColorPtr[i] < other.m_value.LedColorPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_LEDCOLOR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.LedColor < other.m_value.LedColor)
                    {
                        return -1;
                    }
                    else if (m_value.LedColor > other.m_value.LedColor)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_LEDSTATE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlLedState_tCompare(*m_value.LedStatePtr, *other.m_value.LedStatePtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlLedState_tCompare(*m_value.LedStatePtr, *other.m_value.LedStatePtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_LEDSTATE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlLedState_tCompare(m_value.LedState, other.m_value.LedState);
                    break; // NOT REACHED
                }
                case INJECTION_MARGINTEMPERATURE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlMarginTemperature_tCompare(*m_value.MarginTemperaturePtr, *other.m_value.MarginTemperaturePtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlMarginTemperature_tCompare(*m_value.MarginTemperaturePtr, *other.m_value.MarginTemperaturePtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_MARGINTEMPERATURE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlMarginTemperature_tCompare(m_value.MarginTemperature, other.m_value.MarginTemperature);
                    break; // NOT REACHED
                }
                case INJECTION_MASK255_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlMask255_tCompare(*m_value.Mask255Ptr, *other.m_value.Mask255Ptr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlMask255_tCompare(*m_value.Mask255Ptr, *other.m_value.Mask255Ptr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_MASK255:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlMask255_tCompare(m_value.Mask255, other.m_value.Mask255);
                    break; // NOT REACHED
                }
                case INJECTION_MEMORYERRORTYPE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.MemoryErrorTypePtr == *other.m_value.MemoryErrorTypePtr)
                        {
                            return 0;
                        }
                        return *m_value.MemoryErrorTypePtr < *other.m_value.MemoryErrorTypePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.MemoryErrorTypePtr[i] == other.m_value.MemoryErrorTypePtr[i])
                        {
                            continue;
                        }
                        return m_value.MemoryErrorTypePtr[i] < other.m_value.MemoryErrorTypePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_MEMORYERRORTYPE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.MemoryErrorType < other.m_value.MemoryErrorType)
                    {
                        return -1;
                    }
                    else if (m_value.MemoryErrorType > other.m_value.MemoryErrorType)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_MEMORYLOCATION_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.MemoryLocationPtr == *other.m_value.MemoryLocationPtr)
                        {
                            return 0;
                        }
                        return *m_value.MemoryLocationPtr < *other.m_value.MemoryLocationPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.MemoryLocationPtr[i] == other.m_value.MemoryLocationPtr[i])
                        {
                            continue;
                        }
                        return m_value.MemoryLocationPtr[i] < other.m_value.MemoryLocationPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_MEMORYLOCATION:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.MemoryLocation < other.m_value.MemoryLocation)
                    {
                        return -1;
                    }
                    else if (m_value.MemoryLocation > other.m_value.MemoryLocation)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_MEMORY_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlMemory_tCompare(*m_value.MemoryPtr, *other.m_value.MemoryPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlMemory_tCompare(*m_value.MemoryPtr, *other.m_value.MemoryPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_MEMORY:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlMemory_tCompare(m_value.Memory, other.m_value.Memory);
                    break; // NOT REACHED
                }
                case INJECTION_MEMORY_V2_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlMemory_v2_tCompare(*m_value.Memory_v2Ptr, *other.m_value.Memory_v2Ptr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlMemory_v2_tCompare(*m_value.Memory_v2Ptr, *other.m_value.Memory_v2Ptr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_MEMORY_V2:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlMemory_v2_tCompare(m_value.Memory_v2, other.m_value.Memory_v2);
                    break; // NOT REACHED
                }
                case INJECTION_NVLINKCAPABILITY_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.NvLinkCapabilityPtr == *other.m_value.NvLinkCapabilityPtr)
                        {
                            return 0;
                        }
                        return *m_value.NvLinkCapabilityPtr < *other.m_value.NvLinkCapabilityPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.NvLinkCapabilityPtr[i] == other.m_value.NvLinkCapabilityPtr[i])
                        {
                            continue;
                        }
                        return m_value.NvLinkCapabilityPtr[i] < other.m_value.NvLinkCapabilityPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_NVLINKCAPABILITY:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.NvLinkCapability < other.m_value.NvLinkCapability)
                    {
                        return -1;
                    }
                    else if (m_value.NvLinkCapability > other.m_value.NvLinkCapability)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_NVLINKERRORCOUNTER_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.NvLinkErrorCounterPtr == *other.m_value.NvLinkErrorCounterPtr)
                        {
                            return 0;
                        }
                        return *m_value.NvLinkErrorCounterPtr < *other.m_value.NvLinkErrorCounterPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.NvLinkErrorCounterPtr[i] == other.m_value.NvLinkErrorCounterPtr[i])
                        {
                            continue;
                        }
                        return m_value.NvLinkErrorCounterPtr[i] < other.m_value.NvLinkErrorCounterPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_NVLINKERRORCOUNTER:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.NvLinkErrorCounter < other.m_value.NvLinkErrorCounter)
                    {
                        return -1;
                    }
                    else if (m_value.NvLinkErrorCounter > other.m_value.NvLinkErrorCounter)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_NVLINKPOWERTHRES_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlNvLinkPowerThres_tCompare(*m_value.NvLinkPowerThresPtr, *other.m_value.NvLinkPowerThresPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlNvLinkPowerThres_tCompare(*m_value.NvLinkPowerThresPtr, *other.m_value.NvLinkPowerThresPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_NVLINKPOWERTHRES:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlNvLinkPowerThres_tCompare(m_value.NvLinkPowerThres, other.m_value.NvLinkPowerThres);
                    break; // NOT REACHED
                }
                case INJECTION_NVLINKUTILIZATIONCONTROL_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlNvLinkUtilizationControl_tCompare(*m_value.NvLinkUtilizationControlPtr, *other.m_value.NvLinkUtilizationControlPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlNvLinkUtilizationControl_tCompare(*m_value.NvLinkUtilizationControlPtr, *other.m_value.NvLinkUtilizationControlPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_NVLINKUTILIZATIONCONTROL:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlNvLinkUtilizationControl_tCompare(m_value.NvLinkUtilizationControl, other.m_value.NvLinkUtilizationControl);
                    break; // NOT REACHED
                }
                case INJECTION_NVLINKUTILIZATIONCOUNTPKTTYPES_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.NvLinkUtilizationCountPktTypesPtr == *other.m_value.NvLinkUtilizationCountPktTypesPtr)
                        {
                            return 0;
                        }
                        return *m_value.NvLinkUtilizationCountPktTypesPtr < *other.m_value.NvLinkUtilizationCountPktTypesPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.NvLinkUtilizationCountPktTypesPtr[i] == other.m_value.NvLinkUtilizationCountPktTypesPtr[i])
                        {
                            continue;
                        }
                        return m_value.NvLinkUtilizationCountPktTypesPtr[i] < other.m_value.NvLinkUtilizationCountPktTypesPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_NVLINKUTILIZATIONCOUNTPKTTYPES:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.NvLinkUtilizationCountPktTypes < other.m_value.NvLinkUtilizationCountPktTypes)
                    {
                        return -1;
                    }
                    else if (m_value.NvLinkUtilizationCountPktTypes > other.m_value.NvLinkUtilizationCountPktTypes)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_NVLINKUTILIZATIONCOUNTUNITS_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.NvLinkUtilizationCountUnitsPtr == *other.m_value.NvLinkUtilizationCountUnitsPtr)
                        {
                            return 0;
                        }
                        return *m_value.NvLinkUtilizationCountUnitsPtr < *other.m_value.NvLinkUtilizationCountUnitsPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.NvLinkUtilizationCountUnitsPtr[i] == other.m_value.NvLinkUtilizationCountUnitsPtr[i])
                        {
                            continue;
                        }
                        return m_value.NvLinkUtilizationCountUnitsPtr[i] < other.m_value.NvLinkUtilizationCountUnitsPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_NVLINKUTILIZATIONCOUNTUNITS:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.NvLinkUtilizationCountUnits < other.m_value.NvLinkUtilizationCountUnits)
                    {
                        return -1;
                    }
                    else if (m_value.NvLinkUtilizationCountUnits > other.m_value.NvLinkUtilizationCountUnits)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_NVLINKVERSION_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.NvlinkVersionPtr == *other.m_value.NvlinkVersionPtr)
                        {
                            return 0;
                        }
                        return *m_value.NvlinkVersionPtr < *other.m_value.NvlinkVersionPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.NvlinkVersionPtr[i] == other.m_value.NvlinkVersionPtr[i])
                        {
                            continue;
                        }
                        return m_value.NvlinkVersionPtr[i] < other.m_value.NvlinkVersionPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_NVLINKVERSION:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.NvlinkVersion < other.m_value.NvlinkVersion)
                    {
                        return -1;
                    }
                    else if (m_value.NvlinkVersion > other.m_value.NvlinkVersion)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_PSUINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlPSUInfo_tCompare(*m_value.PSUInfoPtr, *other.m_value.PSUInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlPSUInfo_tCompare(*m_value.PSUInfoPtr, *other.m_value.PSUInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_PSUINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlPSUInfo_tCompare(m_value.PSUInfo, other.m_value.PSUInfo);
                    break; // NOT REACHED
                }
                case INJECTION_PAGERETIREMENTCAUSE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.PageRetirementCausePtr == *other.m_value.PageRetirementCausePtr)
                        {
                            return 0;
                        }
                        return *m_value.PageRetirementCausePtr < *other.m_value.PageRetirementCausePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.PageRetirementCausePtr[i] == other.m_value.PageRetirementCausePtr[i])
                        {
                            continue;
                        }
                        return m_value.PageRetirementCausePtr[i] < other.m_value.PageRetirementCausePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_PAGERETIREMENTCAUSE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.PageRetirementCause < other.m_value.PageRetirementCause)
                    {
                        return -1;
                    }
                    else if (m_value.PageRetirementCause > other.m_value.PageRetirementCause)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_PCIINFOEXT_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlPciInfoExt_tCompare(*m_value.PciInfoExtPtr, *other.m_value.PciInfoExtPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlPciInfoExt_tCompare(*m_value.PciInfoExtPtr, *other.m_value.PciInfoExtPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_PCIINFOEXT:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlPciInfoExt_tCompare(m_value.PciInfoExt, other.m_value.PciInfoExt);
                    break; // NOT REACHED
                }
                case INJECTION_PCIINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlPciInfo_tCompare(*m_value.PciInfoPtr, *other.m_value.PciInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlPciInfo_tCompare(*m_value.PciInfoPtr, *other.m_value.PciInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_PCIINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlPciInfo_tCompare(m_value.PciInfo, other.m_value.PciInfo);
                    break; // NOT REACHED
                }
                case INJECTION_PCIELINKSTATE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.PcieLinkStatePtr == *other.m_value.PcieLinkStatePtr)
                        {
                            return 0;
                        }
                        return *m_value.PcieLinkStatePtr < *other.m_value.PcieLinkStatePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.PcieLinkStatePtr[i] == other.m_value.PcieLinkStatePtr[i])
                        {
                            continue;
                        }
                        return m_value.PcieLinkStatePtr[i] < other.m_value.PcieLinkStatePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_PCIELINKSTATE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.PcieLinkState < other.m_value.PcieLinkState)
                    {
                        return -1;
                    }
                    else if (m_value.PcieLinkState > other.m_value.PcieLinkState)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_PCIEUTILCOUNTER_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.PcieUtilCounterPtr == *other.m_value.PcieUtilCounterPtr)
                        {
                            return 0;
                        }
                        return *m_value.PcieUtilCounterPtr < *other.m_value.PcieUtilCounterPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.PcieUtilCounterPtr[i] == other.m_value.PcieUtilCounterPtr[i])
                        {
                            continue;
                        }
                        return m_value.PcieUtilCounterPtr[i] < other.m_value.PcieUtilCounterPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_PCIEUTILCOUNTER:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.PcieUtilCounter < other.m_value.PcieUtilCounter)
                    {
                        return -1;
                    }
                    else if (m_value.PcieUtilCounter > other.m_value.PcieUtilCounter)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_PERFPOLICYTYPE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.PerfPolicyTypePtr == *other.m_value.PerfPolicyTypePtr)
                        {
                            return 0;
                        }
                        return *m_value.PerfPolicyTypePtr < *other.m_value.PerfPolicyTypePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.PerfPolicyTypePtr[i] == other.m_value.PerfPolicyTypePtr[i])
                        {
                            continue;
                        }
                        return m_value.PerfPolicyTypePtr[i] < other.m_value.PerfPolicyTypePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_PERFPOLICYTYPE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.PerfPolicyType < other.m_value.PerfPolicyType)
                    {
                        return -1;
                    }
                    else if (m_value.PerfPolicyType > other.m_value.PerfPolicyType)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_PLATFORMINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlPlatformInfo_tCompare(*m_value.PlatformInfoPtr, *other.m_value.PlatformInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlPlatformInfo_tCompare(*m_value.PlatformInfoPtr, *other.m_value.PlatformInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_PLATFORMINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlPlatformInfo_tCompare(m_value.PlatformInfo, other.m_value.PlatformInfo);
                    break; // NOT REACHED
                }
                case INJECTION_PLATFORMINFO_V1_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlPlatformInfo_v1_tCompare(*m_value.PlatformInfo_v1Ptr, *other.m_value.PlatformInfo_v1Ptr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlPlatformInfo_v1_tCompare(*m_value.PlatformInfo_v1Ptr, *other.m_value.PlatformInfo_v1Ptr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_PLATFORMINFO_V1:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlPlatformInfo_v1_tCompare(m_value.PlatformInfo_v1, other.m_value.PlatformInfo_v1);
                    break; // NOT REACHED
                }
                case INJECTION_POWERPROFILETYPE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.PowerProfileTypePtr == *other.m_value.PowerProfileTypePtr)
                        {
                            return 0;
                        }
                        return *m_value.PowerProfileTypePtr < *other.m_value.PowerProfileTypePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.PowerProfileTypePtr[i] == other.m_value.PowerProfileTypePtr[i])
                        {
                            continue;
                        }
                        return m_value.PowerProfileTypePtr[i] < other.m_value.PowerProfileTypePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_POWERPROFILETYPE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.PowerProfileType < other.m_value.PowerProfileType)
                    {
                        return -1;
                    }
                    else if (m_value.PowerProfileType > other.m_value.PowerProfileType)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_POWERSCOPETYPE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.PowerScopeTypePtr == *other.m_value.PowerScopeTypePtr)
                        {
                            return 0;
                        }
                        return *m_value.PowerScopeTypePtr < *other.m_value.PowerScopeTypePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.PowerScopeTypePtr[i] == other.m_value.PowerScopeTypePtr[i])
                        {
                            continue;
                        }
                        return m_value.PowerScopeTypePtr[i] < other.m_value.PowerScopeTypePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_POWERSCOPETYPE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.PowerScopeType < other.m_value.PowerScopeType)
                    {
                        return -1;
                    }
                    else if (m_value.PowerScopeType > other.m_value.PowerScopeType)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_POWERSOURCE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.PowerSourcePtr == *other.m_value.PowerSourcePtr)
                        {
                            return 0;
                        }
                        return *m_value.PowerSourcePtr < *other.m_value.PowerSourcePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.PowerSourcePtr[i] == other.m_value.PowerSourcePtr[i])
                        {
                            continue;
                        }
                        return m_value.PowerSourcePtr[i] < other.m_value.PowerSourcePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_POWERSOURCE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.PowerSource < other.m_value.PowerSource)
                    {
                        return -1;
                    }
                    else if (m_value.PowerSource > other.m_value.PowerSource)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_POWERVALUE_V2_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlPowerValue_v2_tCompare(*m_value.PowerValue_v2Ptr, *other.m_value.PowerValue_v2Ptr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlPowerValue_v2_tCompare(*m_value.PowerValue_v2Ptr, *other.m_value.PowerValue_v2Ptr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_POWERVALUE_V2:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlPowerValue_v2_tCompare(m_value.PowerValue_v2, other.m_value.PowerValue_v2);
                    break; // NOT REACHED
                }
                case INJECTION_PROCESSDETAILLIST_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlProcessDetailList_tCompare(*m_value.ProcessDetailListPtr, *other.m_value.ProcessDetailListPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlProcessDetailList_tCompare(*m_value.ProcessDetailListPtr, *other.m_value.ProcessDetailListPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_PROCESSDETAILLIST:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlProcessDetailList_tCompare(m_value.ProcessDetailList, other.m_value.ProcessDetailList);
                    break; // NOT REACHED
                }
                case INJECTION_PROCESSDETAIL_V1_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlProcessDetail_v1_tCompare(*m_value.ProcessDetail_v1Ptr, *other.m_value.ProcessDetail_v1Ptr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlProcessDetail_v1_tCompare(*m_value.ProcessDetail_v1Ptr, *other.m_value.ProcessDetail_v1Ptr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_PROCESSDETAIL_V1:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlProcessDetail_v1_tCompare(m_value.ProcessDetail_v1, other.m_value.ProcessDetail_v1);
                    break; // NOT REACHED
                }
                case INJECTION_PROCESSINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlProcessInfo_tCompare(*m_value.ProcessInfoPtr, *other.m_value.ProcessInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlProcessInfo_tCompare(*m_value.ProcessInfoPtr, *other.m_value.ProcessInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_PROCESSINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlProcessInfo_tCompare(m_value.ProcessInfo, other.m_value.ProcessInfo);
                    break; // NOT REACHED
                }
                case INJECTION_PROCESSINFO_V1_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlProcessInfo_v1_tCompare(*m_value.ProcessInfo_v1Ptr, *other.m_value.ProcessInfo_v1Ptr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlProcessInfo_v1_tCompare(*m_value.ProcessInfo_v1Ptr, *other.m_value.ProcessInfo_v1Ptr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_PROCESSINFO_V1:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlProcessInfo_v1_tCompare(m_value.ProcessInfo_v1, other.m_value.ProcessInfo_v1);
                    break; // NOT REACHED
                }
                case INJECTION_PROCESSUTILIZATIONINFO_V1_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlProcessUtilizationInfo_v1_tCompare(*m_value.ProcessUtilizationInfo_v1Ptr, *other.m_value.ProcessUtilizationInfo_v1Ptr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlProcessUtilizationInfo_v1_tCompare(*m_value.ProcessUtilizationInfo_v1Ptr, *other.m_value.ProcessUtilizationInfo_v1Ptr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_PROCESSUTILIZATIONINFO_V1:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlProcessUtilizationInfo_v1_tCompare(m_value.ProcessUtilizationInfo_v1, other.m_value.ProcessUtilizationInfo_v1);
                    break; // NOT REACHED
                }
                case INJECTION_PROCESSUTILIZATIONSAMPLE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlProcessUtilizationSample_tCompare(*m_value.ProcessUtilizationSamplePtr, *other.m_value.ProcessUtilizationSamplePtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlProcessUtilizationSample_tCompare(*m_value.ProcessUtilizationSamplePtr, *other.m_value.ProcessUtilizationSamplePtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_PROCESSUTILIZATIONSAMPLE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlProcessUtilizationSample_tCompare(m_value.ProcessUtilizationSample, other.m_value.ProcessUtilizationSample);
                    break; // NOT REACHED
                }
                case INJECTION_PROCESSESUTILIZATIONINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlProcessesUtilizationInfo_tCompare(*m_value.ProcessesUtilizationInfoPtr, *other.m_value.ProcessesUtilizationInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlProcessesUtilizationInfo_tCompare(*m_value.ProcessesUtilizationInfoPtr, *other.m_value.ProcessesUtilizationInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_PROCESSESUTILIZATIONINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlProcessesUtilizationInfo_tCompare(m_value.ProcessesUtilizationInfo, other.m_value.ProcessesUtilizationInfo);
                    break; // NOT REACHED
                }
                case INJECTION_PSTATES_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.PstatesPtr == *other.m_value.PstatesPtr)
                        {
                            return 0;
                        }
                        return *m_value.PstatesPtr < *other.m_value.PstatesPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.PstatesPtr[i] == other.m_value.PstatesPtr[i])
                        {
                            continue;
                        }
                        return m_value.PstatesPtr[i] < other.m_value.PstatesPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_PSTATES:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.Pstates < other.m_value.Pstates)
                    {
                        return -1;
                    }
                    else if (m_value.Pstates > other.m_value.Pstates)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_RESTRICTEDAPI_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.RestrictedAPIPtr == *other.m_value.RestrictedAPIPtr)
                        {
                            return 0;
                        }
                        return *m_value.RestrictedAPIPtr < *other.m_value.RestrictedAPIPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.RestrictedAPIPtr[i] == other.m_value.RestrictedAPIPtr[i])
                        {
                            continue;
                        }
                        return m_value.RestrictedAPIPtr[i] < other.m_value.RestrictedAPIPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_RESTRICTEDAPI:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.RestrictedAPI < other.m_value.RestrictedAPI)
                    {
                        return -1;
                    }
                    else if (m_value.RestrictedAPI > other.m_value.RestrictedAPI)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_RETURN_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.ReturnPtr == *other.m_value.ReturnPtr)
                        {
                            return 0;
                        }
                        return *m_value.ReturnPtr < *other.m_value.ReturnPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.ReturnPtr[i] == other.m_value.ReturnPtr[i])
                        {
                            continue;
                        }
                        return m_value.ReturnPtr[i] < other.m_value.ReturnPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_RETURN:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.Return < other.m_value.Return)
                    {
                        return -1;
                    }
                    else if (m_value.Return > other.m_value.Return)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_ROWREMAPPERHISTOGRAMVALUES_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlRowRemapperHistogramValues_tCompare(*m_value.RowRemapperHistogramValuesPtr, *other.m_value.RowRemapperHistogramValuesPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlRowRemapperHistogramValues_tCompare(*m_value.RowRemapperHistogramValuesPtr, *other.m_value.RowRemapperHistogramValuesPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_ROWREMAPPERHISTOGRAMVALUES:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlRowRemapperHistogramValues_tCompare(m_value.RowRemapperHistogramValues, other.m_value.RowRemapperHistogramValues);
                    break; // NOT REACHED
                }
                case INJECTION_SAMPLE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlSample_tCompare(*m_value.SamplePtr, *other.m_value.SamplePtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlSample_tCompare(*m_value.SamplePtr, *other.m_value.SamplePtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_SAMPLE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlSample_tCompare(m_value.Sample, other.m_value.Sample);
                    break; // NOT REACHED
                }
                case INJECTION_SAMPLINGTYPE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.SamplingTypePtr == *other.m_value.SamplingTypePtr)
                        {
                            return 0;
                        }
                        return *m_value.SamplingTypePtr < *other.m_value.SamplingTypePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.SamplingTypePtr[i] == other.m_value.SamplingTypePtr[i])
                        {
                            continue;
                        }
                        return m_value.SamplingTypePtr[i] < other.m_value.SamplingTypePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_SAMPLINGTYPE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.SamplingType < other.m_value.SamplingType)
                    {
                        return -1;
                    }
                    else if (m_value.SamplingType > other.m_value.SamplingType)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_SYSTEMCONFCOMPUTESETTINGS_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlSystemConfComputeSettings_tCompare(*m_value.SystemConfComputeSettingsPtr, *other.m_value.SystemConfComputeSettingsPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlSystemConfComputeSettings_tCompare(*m_value.SystemConfComputeSettingsPtr, *other.m_value.SystemConfComputeSettingsPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_SYSTEMCONFCOMPUTESETTINGS:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlSystemConfComputeSettings_tCompare(m_value.SystemConfComputeSettings, other.m_value.SystemConfComputeSettings);
                    break; // NOT REACHED
                }
                case INJECTION_SYSTEMDRIVERBRANCHINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlSystemDriverBranchInfo_tCompare(*m_value.SystemDriverBranchInfoPtr, *other.m_value.SystemDriverBranchInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlSystemDriverBranchInfo_tCompare(*m_value.SystemDriverBranchInfoPtr, *other.m_value.SystemDriverBranchInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_SYSTEMDRIVERBRANCHINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlSystemDriverBranchInfo_tCompare(m_value.SystemDriverBranchInfo, other.m_value.SystemDriverBranchInfo);
                    break; // NOT REACHED
                }
                case INJECTION_TEMPERATURESENSORS_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.TemperatureSensorsPtr == *other.m_value.TemperatureSensorsPtr)
                        {
                            return 0;
                        }
                        return *m_value.TemperatureSensorsPtr < *other.m_value.TemperatureSensorsPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.TemperatureSensorsPtr[i] == other.m_value.TemperatureSensorsPtr[i])
                        {
                            continue;
                        }
                        return m_value.TemperatureSensorsPtr[i] < other.m_value.TemperatureSensorsPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_TEMPERATURESENSORS:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.TemperatureSensors < other.m_value.TemperatureSensors)
                    {
                        return -1;
                    }
                    else if (m_value.TemperatureSensors > other.m_value.TemperatureSensors)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_TEMPERATURETHRESHOLDS_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.TemperatureThresholdsPtr == *other.m_value.TemperatureThresholdsPtr)
                        {
                            return 0;
                        }
                        return *m_value.TemperatureThresholdsPtr < *other.m_value.TemperatureThresholdsPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.TemperatureThresholdsPtr[i] == other.m_value.TemperatureThresholdsPtr[i])
                        {
                            continue;
                        }
                        return m_value.TemperatureThresholdsPtr[i] < other.m_value.TemperatureThresholdsPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_TEMPERATURETHRESHOLDS:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.TemperatureThresholds < other.m_value.TemperatureThresholds)
                    {
                        return -1;
                    }
                    else if (m_value.TemperatureThresholds > other.m_value.TemperatureThresholds)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_TEMPERATURE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlTemperature_tCompare(*m_value.TemperaturePtr, *other.m_value.TemperaturePtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlTemperature_tCompare(*m_value.TemperaturePtr, *other.m_value.TemperaturePtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_TEMPERATURE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlTemperature_tCompare(m_value.Temperature, other.m_value.Temperature);
                    break; // NOT REACHED
                }
                case INJECTION_THERMALCONTROLLER_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.ThermalControllerPtr == *other.m_value.ThermalControllerPtr)
                        {
                            return 0;
                        }
                        return *m_value.ThermalControllerPtr < *other.m_value.ThermalControllerPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.ThermalControllerPtr[i] == other.m_value.ThermalControllerPtr[i])
                        {
                            continue;
                        }
                        return m_value.ThermalControllerPtr[i] < other.m_value.ThermalControllerPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_THERMALCONTROLLER:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.ThermalController < other.m_value.ThermalController)
                    {
                        return -1;
                    }
                    else if (m_value.ThermalController > other.m_value.ThermalController)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_THERMALTARGET_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.ThermalTargetPtr == *other.m_value.ThermalTargetPtr)
                        {
                            return 0;
                        }
                        return *m_value.ThermalTargetPtr < *other.m_value.ThermalTargetPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.ThermalTargetPtr[i] == other.m_value.ThermalTargetPtr[i])
                        {
                            continue;
                        }
                        return m_value.ThermalTargetPtr[i] < other.m_value.ThermalTargetPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_THERMALTARGET:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.ThermalTarget < other.m_value.ThermalTarget)
                    {
                        return -1;
                    }
                    else if (m_value.ThermalTarget > other.m_value.ThermalTarget)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_UNITFANINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlUnitFanInfo_tCompare(*m_value.UnitFanInfoPtr, *other.m_value.UnitFanInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlUnitFanInfo_tCompare(*m_value.UnitFanInfoPtr, *other.m_value.UnitFanInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_UNITFANINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlUnitFanInfo_tCompare(m_value.UnitFanInfo, other.m_value.UnitFanInfo);
                    break; // NOT REACHED
                }
                case INJECTION_UNITFANSPEEDS_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlUnitFanSpeeds_tCompare(*m_value.UnitFanSpeedsPtr, *other.m_value.UnitFanSpeedsPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlUnitFanSpeeds_tCompare(*m_value.UnitFanSpeedsPtr, *other.m_value.UnitFanSpeedsPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_UNITFANSPEEDS:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlUnitFanSpeeds_tCompare(m_value.UnitFanSpeeds, other.m_value.UnitFanSpeeds);
                    break; // NOT REACHED
                }
                case INJECTION_UNITINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlUnitInfo_tCompare(*m_value.UnitInfoPtr, *other.m_value.UnitInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlUnitInfo_tCompare(*m_value.UnitInfoPtr, *other.m_value.UnitInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_UNITINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlUnitInfo_tCompare(m_value.UnitInfo, other.m_value.UnitInfo);
                    break; // NOT REACHED
                }
                case INJECTION_UNIT_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    unsigned size = m_isArray ? m_arrLen : 1;
                    return memcmp(m_value.UnitPtr, other.m_value.UnitPtr, size * sizeof(*m_value.UnitPtr));
                    break; // NOT REACHED
                }
                case INJECTION_UNIT:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return memcmp(&m_value.Unit, &other.m_value.Unit, sizeof(m_value.Unit));
                    break; // NOT REACHED
                }
                case INJECTION_UTILIZATION_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlUtilization_tCompare(*m_value.UtilizationPtr, *other.m_value.UtilizationPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlUtilization_tCompare(*m_value.UtilizationPtr, *other.m_value.UtilizationPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_UTILIZATION:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlUtilization_tCompare(m_value.Utilization, other.m_value.Utilization);
                    break; // NOT REACHED
                }
                case INJECTION_VALUETYPE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.ValueTypePtr == *other.m_value.ValueTypePtr)
                        {
                            return 0;
                        }
                        return *m_value.ValueTypePtr < *other.m_value.ValueTypePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.ValueTypePtr[i] == other.m_value.ValueTypePtr[i])
                        {
                            continue;
                        }
                        return m_value.ValueTypePtr[i] < other.m_value.ValueTypePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VALUETYPE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.ValueType < other.m_value.ValueType)
                    {
                        return -1;
                    }
                    else if (m_value.ValueType > other.m_value.ValueType)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_VGPUCAPABILITY_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.VgpuCapabilityPtr == *other.m_value.VgpuCapabilityPtr)
                        {
                            return 0;
                        }
                        return *m_value.VgpuCapabilityPtr < *other.m_value.VgpuCapabilityPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.VgpuCapabilityPtr[i] == other.m_value.VgpuCapabilityPtr[i])
                        {
                            continue;
                        }
                        return m_value.VgpuCapabilityPtr[i] < other.m_value.VgpuCapabilityPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUCAPABILITY:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.VgpuCapability < other.m_value.VgpuCapability)
                    {
                        return -1;
                    }
                    else if (m_value.VgpuCapability > other.m_value.VgpuCapability)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_VGPUDRIVERCAPABILITY_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.VgpuDriverCapabilityPtr == *other.m_value.VgpuDriverCapabilityPtr)
                        {
                            return 0;
                        }
                        return *m_value.VgpuDriverCapabilityPtr < *other.m_value.VgpuDriverCapabilityPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.VgpuDriverCapabilityPtr[i] == other.m_value.VgpuDriverCapabilityPtr[i])
                        {
                            continue;
                        }
                        return m_value.VgpuDriverCapabilityPtr[i] < other.m_value.VgpuDriverCapabilityPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUDRIVERCAPABILITY:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.VgpuDriverCapability < other.m_value.VgpuDriverCapability)
                    {
                        return -1;
                    }
                    else if (m_value.VgpuDriverCapability > other.m_value.VgpuDriverCapability)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_VGPUGUESTINFOSTATE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.VgpuGuestInfoStatePtr == *other.m_value.VgpuGuestInfoStatePtr)
                        {
                            return 0;
                        }
                        return *m_value.VgpuGuestInfoStatePtr < *other.m_value.VgpuGuestInfoStatePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.VgpuGuestInfoStatePtr[i] == other.m_value.VgpuGuestInfoStatePtr[i])
                        {
                            continue;
                        }
                        return m_value.VgpuGuestInfoStatePtr[i] < other.m_value.VgpuGuestInfoStatePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUGUESTINFOSTATE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.VgpuGuestInfoState < other.m_value.VgpuGuestInfoState)
                    {
                        return -1;
                    }
                    else if (m_value.VgpuGuestInfoState > other.m_value.VgpuGuestInfoState)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_VGPUHETEROGENEOUSMODE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuHeterogeneousMode_tCompare(*m_value.VgpuHeterogeneousModePtr, *other.m_value.VgpuHeterogeneousModePtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuHeterogeneousMode_tCompare(*m_value.VgpuHeterogeneousModePtr, *other.m_value.VgpuHeterogeneousModePtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUHETEROGENEOUSMODE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuHeterogeneousMode_tCompare(m_value.VgpuHeterogeneousMode, other.m_value.VgpuHeterogeneousMode);
                    break; // NOT REACHED
                }
                case INJECTION_VGPUINSTANCEUTILIZATIONINFO_V1_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuInstanceUtilizationInfo_v1_tCompare(*m_value.VgpuInstanceUtilizationInfo_v1Ptr, *other.m_value.VgpuInstanceUtilizationInfo_v1Ptr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuInstanceUtilizationInfo_v1_tCompare(*m_value.VgpuInstanceUtilizationInfo_v1Ptr, *other.m_value.VgpuInstanceUtilizationInfo_v1Ptr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUINSTANCEUTILIZATIONINFO_V1:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuInstanceUtilizationInfo_v1_tCompare(m_value.VgpuInstanceUtilizationInfo_v1, other.m_value.VgpuInstanceUtilizationInfo_v1);
                    break; // NOT REACHED
                }
                case INJECTION_VGPUINSTANCEUTILIZATIONSAMPLE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuInstanceUtilizationSample_tCompare(*m_value.VgpuInstanceUtilizationSamplePtr, *other.m_value.VgpuInstanceUtilizationSamplePtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuInstanceUtilizationSample_tCompare(*m_value.VgpuInstanceUtilizationSamplePtr, *other.m_value.VgpuInstanceUtilizationSamplePtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUINSTANCEUTILIZATIONSAMPLE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuInstanceUtilizationSample_tCompare(m_value.VgpuInstanceUtilizationSample, other.m_value.VgpuInstanceUtilizationSample);
                    break; // NOT REACHED
                }
                case INJECTION_VGPUINSTANCE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.VgpuInstancePtr == *other.m_value.VgpuInstancePtr)
                        {
                            return 0;
                        }
                        return *m_value.VgpuInstancePtr < *other.m_value.VgpuInstancePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.VgpuInstancePtr[i] == other.m_value.VgpuInstancePtr[i])
                        {
                            continue;
                        }
                        return m_value.VgpuInstancePtr[i] < other.m_value.VgpuInstancePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUINSTANCE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.VgpuInstance < other.m_value.VgpuInstance)
                    {
                        return -1;
                    }
                    else if (m_value.VgpuInstance > other.m_value.VgpuInstance)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_VGPUINSTANCESUTILIZATIONINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuInstancesUtilizationInfo_tCompare(*m_value.VgpuInstancesUtilizationInfoPtr, *other.m_value.VgpuInstancesUtilizationInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuInstancesUtilizationInfo_tCompare(*m_value.VgpuInstancesUtilizationInfoPtr, *other.m_value.VgpuInstancesUtilizationInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUINSTANCESUTILIZATIONINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuInstancesUtilizationInfo_tCompare(m_value.VgpuInstancesUtilizationInfo, other.m_value.VgpuInstancesUtilizationInfo);
                    break; // NOT REACHED
                }
                case INJECTION_VGPULICENSEEXPIRY_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuLicenseExpiry_tCompare(*m_value.VgpuLicenseExpiryPtr, *other.m_value.VgpuLicenseExpiryPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuLicenseExpiry_tCompare(*m_value.VgpuLicenseExpiryPtr, *other.m_value.VgpuLicenseExpiryPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPULICENSEEXPIRY:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuLicenseExpiry_tCompare(m_value.VgpuLicenseExpiry, other.m_value.VgpuLicenseExpiry);
                    break; // NOT REACHED
                }
                case INJECTION_VGPULICENSEINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuLicenseInfo_tCompare(*m_value.VgpuLicenseInfoPtr, *other.m_value.VgpuLicenseInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuLicenseInfo_tCompare(*m_value.VgpuLicenseInfoPtr, *other.m_value.VgpuLicenseInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPULICENSEINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuLicenseInfo_tCompare(m_value.VgpuLicenseInfo, other.m_value.VgpuLicenseInfo);
                    break; // NOT REACHED
                }
                case INJECTION_VGPUMETADATA_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuMetadata_tCompare(*m_value.VgpuMetadataPtr, *other.m_value.VgpuMetadataPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuMetadata_tCompare(*m_value.VgpuMetadataPtr, *other.m_value.VgpuMetadataPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUMETADATA:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuMetadata_tCompare(m_value.VgpuMetadata, other.m_value.VgpuMetadata);
                    break; // NOT REACHED
                }
                case INJECTION_VGPUPGPUCOMPATIBILITYLIMITCODE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.VgpuPgpuCompatibilityLimitCodePtr == *other.m_value.VgpuPgpuCompatibilityLimitCodePtr)
                        {
                            return 0;
                        }
                        return *m_value.VgpuPgpuCompatibilityLimitCodePtr < *other.m_value.VgpuPgpuCompatibilityLimitCodePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.VgpuPgpuCompatibilityLimitCodePtr[i] == other.m_value.VgpuPgpuCompatibilityLimitCodePtr[i])
                        {
                            continue;
                        }
                        return m_value.VgpuPgpuCompatibilityLimitCodePtr[i] < other.m_value.VgpuPgpuCompatibilityLimitCodePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUPGPUCOMPATIBILITYLIMITCODE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.VgpuPgpuCompatibilityLimitCode < other.m_value.VgpuPgpuCompatibilityLimitCode)
                    {
                        return -1;
                    }
                    else if (m_value.VgpuPgpuCompatibilityLimitCode > other.m_value.VgpuPgpuCompatibilityLimitCode)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_VGPUPGPUCOMPATIBILITY_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuPgpuCompatibility_tCompare(*m_value.VgpuPgpuCompatibilityPtr, *other.m_value.VgpuPgpuCompatibilityPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuPgpuCompatibility_tCompare(*m_value.VgpuPgpuCompatibilityPtr, *other.m_value.VgpuPgpuCompatibilityPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUPGPUCOMPATIBILITY:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuPgpuCompatibility_tCompare(m_value.VgpuPgpuCompatibility, other.m_value.VgpuPgpuCompatibility);
                    break; // NOT REACHED
                }
                case INJECTION_VGPUPGPUMETADATA_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuPgpuMetadata_tCompare(*m_value.VgpuPgpuMetadataPtr, *other.m_value.VgpuPgpuMetadataPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuPgpuMetadata_tCompare(*m_value.VgpuPgpuMetadataPtr, *other.m_value.VgpuPgpuMetadataPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUPGPUMETADATA:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuPgpuMetadata_tCompare(m_value.VgpuPgpuMetadata, other.m_value.VgpuPgpuMetadata);
                    break; // NOT REACHED
                }
                case INJECTION_VGPUPLACEMENTID_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuPlacementId_tCompare(*m_value.VgpuPlacementIdPtr, *other.m_value.VgpuPlacementIdPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuPlacementId_tCompare(*m_value.VgpuPlacementIdPtr, *other.m_value.VgpuPlacementIdPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUPLACEMENTID:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuPlacementId_tCompare(m_value.VgpuPlacementId, other.m_value.VgpuPlacementId);
                    break; // NOT REACHED
                }
                case INJECTION_VGPUPLACEMENTLIST_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuPlacementList_tCompare(*m_value.VgpuPlacementListPtr, *other.m_value.VgpuPlacementListPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuPlacementList_tCompare(*m_value.VgpuPlacementListPtr, *other.m_value.VgpuPlacementListPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUPLACEMENTLIST:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuPlacementList_tCompare(m_value.VgpuPlacementList, other.m_value.VgpuPlacementList);
                    break; // NOT REACHED
                }
                case INJECTION_VGPUPLACEMENTLIST_V1_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuPlacementList_v1_tCompare(*m_value.VgpuPlacementList_v1Ptr, *other.m_value.VgpuPlacementList_v1Ptr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuPlacementList_v1_tCompare(*m_value.VgpuPlacementList_v1Ptr, *other.m_value.VgpuPlacementList_v1Ptr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUPLACEMENTLIST_V1:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuPlacementList_v1_tCompare(m_value.VgpuPlacementList_v1, other.m_value.VgpuPlacementList_v1);
                    break; // NOT REACHED
                }
                case INJECTION_VGPUPROCESSUTILIZATIONINFO_V1_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuProcessUtilizationInfo_v1_tCompare(*m_value.VgpuProcessUtilizationInfo_v1Ptr, *other.m_value.VgpuProcessUtilizationInfo_v1Ptr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuProcessUtilizationInfo_v1_tCompare(*m_value.VgpuProcessUtilizationInfo_v1Ptr, *other.m_value.VgpuProcessUtilizationInfo_v1Ptr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUPROCESSUTILIZATIONINFO_V1:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuProcessUtilizationInfo_v1_tCompare(m_value.VgpuProcessUtilizationInfo_v1, other.m_value.VgpuProcessUtilizationInfo_v1);
                    break; // NOT REACHED
                }
                case INJECTION_VGPUPROCESSUTILIZATIONSAMPLE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuProcessUtilizationSample_tCompare(*m_value.VgpuProcessUtilizationSamplePtr, *other.m_value.VgpuProcessUtilizationSamplePtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuProcessUtilizationSample_tCompare(*m_value.VgpuProcessUtilizationSamplePtr, *other.m_value.VgpuProcessUtilizationSamplePtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUPROCESSUTILIZATIONSAMPLE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuProcessUtilizationSample_tCompare(m_value.VgpuProcessUtilizationSample, other.m_value.VgpuProcessUtilizationSample);
                    break; // NOT REACHED
                }
                case INJECTION_VGPUPROCESSESUTILIZATIONINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuProcessesUtilizationInfo_tCompare(*m_value.VgpuProcessesUtilizationInfoPtr, *other.m_value.VgpuProcessesUtilizationInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuProcessesUtilizationInfo_tCompare(*m_value.VgpuProcessesUtilizationInfoPtr, *other.m_value.VgpuProcessesUtilizationInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUPROCESSESUTILIZATIONINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuProcessesUtilizationInfo_tCompare(m_value.VgpuProcessesUtilizationInfo, other.m_value.VgpuProcessesUtilizationInfo);
                    break; // NOT REACHED
                }
                case INJECTION_VGPURUNTIMESTATE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuRuntimeState_tCompare(*m_value.VgpuRuntimeStatePtr, *other.m_value.VgpuRuntimeStatePtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuRuntimeState_tCompare(*m_value.VgpuRuntimeStatePtr, *other.m_value.VgpuRuntimeStatePtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPURUNTIMESTATE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuRuntimeState_tCompare(m_value.VgpuRuntimeState, other.m_value.VgpuRuntimeState);
                    break; // NOT REACHED
                }
                case INJECTION_VGPUSCHEDULERCAPABILITIES_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuSchedulerCapabilities_tCompare(*m_value.VgpuSchedulerCapabilitiesPtr, *other.m_value.VgpuSchedulerCapabilitiesPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuSchedulerCapabilities_tCompare(*m_value.VgpuSchedulerCapabilitiesPtr, *other.m_value.VgpuSchedulerCapabilitiesPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUSCHEDULERCAPABILITIES:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuSchedulerCapabilities_tCompare(m_value.VgpuSchedulerCapabilities, other.m_value.VgpuSchedulerCapabilities);
                    break; // NOT REACHED
                }
                case INJECTION_VGPUSCHEDULERGETSTATE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuSchedulerGetState_tCompare(*m_value.VgpuSchedulerGetStatePtr, *other.m_value.VgpuSchedulerGetStatePtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuSchedulerGetState_tCompare(*m_value.VgpuSchedulerGetStatePtr, *other.m_value.VgpuSchedulerGetStatePtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUSCHEDULERGETSTATE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuSchedulerGetState_tCompare(m_value.VgpuSchedulerGetState, other.m_value.VgpuSchedulerGetState);
                    break; // NOT REACHED
                }
                case INJECTION_VGPUSCHEDULERLOGENTRY_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuSchedulerLogEntry_tCompare(*m_value.VgpuSchedulerLogEntryPtr, *other.m_value.VgpuSchedulerLogEntryPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuSchedulerLogEntry_tCompare(*m_value.VgpuSchedulerLogEntryPtr, *other.m_value.VgpuSchedulerLogEntryPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUSCHEDULERLOGENTRY:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuSchedulerLogEntry_tCompare(m_value.VgpuSchedulerLogEntry, other.m_value.VgpuSchedulerLogEntry);
                    break; // NOT REACHED
                }
                case INJECTION_VGPUSCHEDULERLOG_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuSchedulerLog_tCompare(*m_value.VgpuSchedulerLogPtr, *other.m_value.VgpuSchedulerLogPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuSchedulerLog_tCompare(*m_value.VgpuSchedulerLogPtr, *other.m_value.VgpuSchedulerLogPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUSCHEDULERLOG:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuSchedulerLog_tCompare(m_value.VgpuSchedulerLog, other.m_value.VgpuSchedulerLog);
                    break; // NOT REACHED
                }
                case INJECTION_VGPUSCHEDULERSETSTATE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuSchedulerSetState_tCompare(*m_value.VgpuSchedulerSetStatePtr, *other.m_value.VgpuSchedulerSetStatePtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuSchedulerSetState_tCompare(*m_value.VgpuSchedulerSetStatePtr, *other.m_value.VgpuSchedulerSetStatePtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUSCHEDULERSETSTATE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuSchedulerSetState_tCompare(m_value.VgpuSchedulerSetState, other.m_value.VgpuSchedulerSetState);
                    break; // NOT REACHED
                }
                case INJECTION_VGPUTYPEBAR1INFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuTypeBar1Info_tCompare(*m_value.VgpuTypeBar1InfoPtr, *other.m_value.VgpuTypeBar1InfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuTypeBar1Info_tCompare(*m_value.VgpuTypeBar1InfoPtr, *other.m_value.VgpuTypeBar1InfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUTYPEBAR1INFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuTypeBar1Info_tCompare(m_value.VgpuTypeBar1Info, other.m_value.VgpuTypeBar1Info);
                    break; // NOT REACHED
                }
                case INJECTION_VGPUTYPEID_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.VgpuTypeIdPtr == *other.m_value.VgpuTypeIdPtr)
                        {
                            return 0;
                        }
                        return *m_value.VgpuTypeIdPtr < *other.m_value.VgpuTypeIdPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.VgpuTypeIdPtr[i] == other.m_value.VgpuTypeIdPtr[i])
                        {
                            continue;
                        }
                        return m_value.VgpuTypeIdPtr[i] < other.m_value.VgpuTypeIdPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUTYPEID:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.VgpuTypeId < other.m_value.VgpuTypeId)
                    {
                        return -1;
                    }
                    else if (m_value.VgpuTypeId > other.m_value.VgpuTypeId)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_VGPUVERSION_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlVgpuVersion_tCompare(*m_value.VgpuVersionPtr, *other.m_value.VgpuVersionPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlVgpuVersion_tCompare(*m_value.VgpuVersionPtr, *other.m_value.VgpuVersionPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUVERSION:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlVgpuVersion_tCompare(m_value.VgpuVersion, other.m_value.VgpuVersion);
                    break; // NOT REACHED
                }
                case INJECTION_VGPUVMCOMPATIBILITY_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.VgpuVmCompatibilityPtr == *other.m_value.VgpuVmCompatibilityPtr)
                        {
                            return 0;
                        }
                        return *m_value.VgpuVmCompatibilityPtr < *other.m_value.VgpuVmCompatibilityPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.VgpuVmCompatibilityPtr[i] == other.m_value.VgpuVmCompatibilityPtr[i])
                        {
                            continue;
                        }
                        return m_value.VgpuVmCompatibilityPtr[i] < other.m_value.VgpuVmCompatibilityPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUVMCOMPATIBILITY:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.VgpuVmCompatibility < other.m_value.VgpuVmCompatibility)
                    {
                        return -1;
                    }
                    else if (m_value.VgpuVmCompatibility > other.m_value.VgpuVmCompatibility)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_VGPUVMIDTYPE_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.VgpuVmIdTypePtr == *other.m_value.VgpuVmIdTypePtr)
                        {
                            return 0;
                        }
                        return *m_value.VgpuVmIdTypePtr < *other.m_value.VgpuVmIdTypePtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.VgpuVmIdTypePtr[i] == other.m_value.VgpuVmIdTypePtr[i])
                        {
                            continue;
                        }
                        return m_value.VgpuVmIdTypePtr[i] < other.m_value.VgpuVmIdTypePtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VGPUVMIDTYPE:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.VgpuVmIdType < other.m_value.VgpuVmIdType)
                    {
                        return -1;
                    }
                    else if (m_value.VgpuVmIdType > other.m_value.VgpuVmIdType)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_VIOLATIONTIME_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlViolationTime_tCompare(*m_value.ViolationTimePtr, *other.m_value.ViolationTimePtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlViolationTime_tCompare(*m_value.ViolationTimePtr, *other.m_value.ViolationTimePtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_VIOLATIONTIME:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlViolationTime_tCompare(m_value.ViolationTime, other.m_value.ViolationTime);
                    break; // NOT REACHED
                }
                case INJECTION_WORKLOADPOWERPROFILECURRENTPROFILES_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlWorkloadPowerProfileCurrentProfiles_tCompare(*m_value.WorkloadPowerProfileCurrentProfilesPtr, *other.m_value.WorkloadPowerProfileCurrentProfilesPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlWorkloadPowerProfileCurrentProfiles_tCompare(*m_value.WorkloadPowerProfileCurrentProfilesPtr, *other.m_value.WorkloadPowerProfileCurrentProfilesPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_WORKLOADPOWERPROFILECURRENTPROFILES:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlWorkloadPowerProfileCurrentProfiles_tCompare(m_value.WorkloadPowerProfileCurrentProfiles, other.m_value.WorkloadPowerProfileCurrentProfiles);
                    break; // NOT REACHED
                }
                case INJECTION_WORKLOADPOWERPROFILEINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlWorkloadPowerProfileInfo_tCompare(*m_value.WorkloadPowerProfileInfoPtr, *other.m_value.WorkloadPowerProfileInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlWorkloadPowerProfileInfo_tCompare(*m_value.WorkloadPowerProfileInfoPtr, *other.m_value.WorkloadPowerProfileInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_WORKLOADPOWERPROFILEINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlWorkloadPowerProfileInfo_tCompare(m_value.WorkloadPowerProfileInfo, other.m_value.WorkloadPowerProfileInfo);
                    break; // NOT REACHED
                }
                case INJECTION_WORKLOADPOWERPROFILEPROFILESINFO_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlWorkloadPowerProfileProfilesInfo_tCompare(*m_value.WorkloadPowerProfileProfilesInfoPtr, *other.m_value.WorkloadPowerProfileProfilesInfoPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlWorkloadPowerProfileProfilesInfo_tCompare(*m_value.WorkloadPowerProfileProfilesInfoPtr, *other.m_value.WorkloadPowerProfileProfilesInfoPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_WORKLOADPOWERPROFILEPROFILESINFO:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlWorkloadPowerProfileProfilesInfo_tCompare(m_value.WorkloadPowerProfileProfilesInfo, other.m_value.WorkloadPowerProfileProfilesInfo);
                    break; // NOT REACHED
                }
                case INJECTION_WORKLOADPOWERPROFILEREQUESTEDPROFILES_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        return nvmlWorkloadPowerProfileRequestedProfiles_tCompare(*m_value.WorkloadPowerProfileRequestedProfilesPtr, *other.m_value.WorkloadPowerProfileRequestedProfilesPtr);
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (auto ret = nvmlWorkloadPowerProfileRequestedProfiles_tCompare(*m_value.WorkloadPowerProfileRequestedProfilesPtr, *other.m_value.WorkloadPowerProfileRequestedProfilesPtr); ret)
                        {
                            return ret;
                        }
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_WORKLOADPOWERPROFILEREQUESTEDPROFILES:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    return nvmlWorkloadPowerProfileRequestedProfiles_tCompare(m_value.WorkloadPowerProfileRequestedProfiles, other.m_value.WorkloadPowerProfileRequestedProfiles);
                    break; // NOT REACHED
                }
                case INJECTION_SHORT_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.ShortPtr == *other.m_value.ShortPtr)
                        {
                            return 0;
                        }
                        return *m_value.ShortPtr < *other.m_value.ShortPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.ShortPtr[i] == other.m_value.ShortPtr[i])
                        {
                            continue;
                        }
                        return m_value.ShortPtr[i] < other.m_value.ShortPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_SHORT:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.Short < other.m_value.Short)
                    {
                        return -1;
                    }
                    else if (m_value.Short > other.m_value.Short)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_UCHAR_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.UCharPtr == *other.m_value.UCharPtr)
                        {
                            return 0;
                        }
                        return *m_value.UCharPtr < *other.m_value.UCharPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.UCharPtr[i] == other.m_value.UCharPtr[i])
                        {
                            continue;
                        }
                        return m_value.UCharPtr[i] < other.m_value.UCharPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_UCHAR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.UChar < other.m_value.UChar)
                    {
                        return -1;
                    }
                    else if (m_value.UChar > other.m_value.UChar)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_UINT_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.UIntPtr == *other.m_value.UIntPtr)
                        {
                            return 0;
                        }
                        return *m_value.UIntPtr < *other.m_value.UIntPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.UIntPtr[i] == other.m_value.UIntPtr[i])
                        {
                            continue;
                        }
                        return m_value.UIntPtr[i] < other.m_value.UIntPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_UINT:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.UInt < other.m_value.UInt)
                    {
                        return -1;
                    }
                    else if (m_value.UInt > other.m_value.UInt)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_ULONG_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.ULongPtr == *other.m_value.ULongPtr)
                        {
                            return 0;
                        }
                        return *m_value.ULongPtr < *other.m_value.ULongPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.ULongPtr[i] == other.m_value.ULongPtr[i])
                        {
                            continue;
                        }
                        return m_value.ULongPtr[i] < other.m_value.ULongPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_ULONG:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.ULong < other.m_value.ULong)
                    {
                        return -1;
                    }
                    else if (m_value.ULong > other.m_value.ULong)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_ULONG_LONG_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.ULongLongPtr == *other.m_value.ULongLongPtr)
                        {
                            return 0;
                        }
                        return *m_value.ULongLongPtr < *other.m_value.ULongLongPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.ULongLongPtr[i] == other.m_value.ULongLongPtr[i])
                        {
                            continue;
                        }
                        return m_value.ULongLongPtr[i] < other.m_value.ULongLongPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_ULONG_LONG:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.ULongLong < other.m_value.ULongLong)
                    {
                        return -1;
                    }
                    else if (m_value.ULongLong > other.m_value.ULongLong)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                case INJECTION_USHORT_PTR:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (!m_isArray)
                    {
                        if (*m_value.UShortPtr == *other.m_value.UShortPtr)
                        {
                            return 0;
                        }
                        return *m_value.UShortPtr < *other.m_value.UShortPtr ? -1 : 1;
                    }
                    for (unsigned i = 0; i < m_arrLen; ++i)
                    {
                        if (m_value.UShortPtr[i] == other.m_value.UShortPtr[i])
                        {
                            continue;
                        }
                        return m_value.UShortPtr[i] < other.m_value.UShortPtr[i] ? -1 : 1;
                    }
                    return 0;
                    break; // NOT REACHED
                }
                case INJECTION_USHORT:
                {
                    // The following snippet is generated from write_injection_argument_compare
                    if (m_value.UShort < other.m_value.UShort)
                    {
                        return -1;
                    }
                    else if (m_value.UShort > other.m_value.UShort)
                    {
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                    break; // NOT REACHED
                }
                default:
                    break;
            }
        }
    }
    return 1;
}

// InjectionArgument may be copied for serveral cases.
// But we keep the ownership of pointer in nvml injection lib.
// We free it when we shutdown the injection lib.
// The following snippet is generated from write_injection_free_function
InjectionArgument::~InjectionArgument()
{
    switch (this->m_type)
    {
        case INJECTION_CHAR_PTR:
        {
            if (m_inHeap && m_value.Str)
            {
                free(m_value.Str);
            }
            break;
        }
        case INJECTION_DOUBLE_PTR:
        {
            if (m_inHeap && m_value.DoublePtr)
            {
                free(m_value.DoublePtr);
            }
            break;
        }
        case INJECTION_INT_PTR:
        {
            if (m_inHeap && m_value.IntPtr)
            {
                free(m_value.IntPtr);
            }
            break;
        }
        case INJECTION_LONG_PTR:
        {
            if (m_inHeap && m_value.LongPtr)
            {
                free(m_value.LongPtr);
            }
            break;
        }
        case INJECTION_LONG_LONG_PTR:
        {
            if (m_inHeap && m_value.LongLongPtr)
            {
                free(m_value.LongLongPtr);
            }
            break;
        }
        case INJECTION_ACCOUNTINGSTATS_PTR:
        {
            if (m_inHeap && m_value.AccountingStatsPtr)
            {
                free(m_value.AccountingStatsPtr);
            }
            break;
        }
        case INJECTION_AFFINITYSCOPE_PTR:
        {
            if (m_inHeap && m_value.AffinityScopePtr)
            {
                free(m_value.AffinityScopePtr);
            }
            break;
        }
        case INJECTION_BAR1MEMORY_PTR:
        {
            if (m_inHeap && m_value.BAR1MemoryPtr)
            {
                free(m_value.BAR1MemoryPtr);
            }
            break;
        }
        case INJECTION_BRANDTYPE_PTR:
        {
            if (m_inHeap && m_value.BrandTypePtr)
            {
                free(m_value.BrandTypePtr);
            }
            break;
        }
        case INJECTION_BRIDGECHIPHIERARCHY_PTR:
        {
            if (m_inHeap && m_value.BridgeChipHierarchyPtr)
            {
                free(m_value.BridgeChipHierarchyPtr);
            }
            break;
        }
        case INJECTION_BRIDGECHIPINFO_PTR:
        {
            if (m_inHeap && m_value.BridgeChipInfoPtr)
            {
                free(m_value.BridgeChipInfoPtr);
            }
            break;
        }
        case INJECTION_BRIDGECHIPTYPE_PTR:
        {
            if (m_inHeap && m_value.BridgeChipTypePtr)
            {
                free(m_value.BridgeChipTypePtr);
            }
            break;
        }
        case INJECTION_BUSTYPE_PTR:
        {
            if (m_inHeap && m_value.BusTypePtr)
            {
                free(m_value.BusTypePtr);
            }
            break;
        }
        case INJECTION_C2CMODEINFO_V1_PTR:
        {
            if (m_inHeap && m_value.C2cModeInfo_v1Ptr)
            {
                free(m_value.C2cModeInfo_v1Ptr);
            }
            break;
        }
        case INJECTION_CLKMONFAULTINFO_PTR:
        {
            if (m_inHeap && m_value.ClkMonFaultInfoPtr)
            {
                free(m_value.ClkMonFaultInfoPtr);
            }
            break;
        }
        case INJECTION_CLKMONSTATUS_PTR:
        {
            if (m_inHeap && m_value.ClkMonStatusPtr)
            {
                free(m_value.ClkMonStatusPtr);
            }
            break;
        }
        case INJECTION_CLOCKID_PTR:
        {
            if (m_inHeap && m_value.ClockIdPtr)
            {
                free(m_value.ClockIdPtr);
            }
            break;
        }
        case INJECTION_CLOCKLIMITID_PTR:
        {
            if (m_inHeap && m_value.ClockLimitIdPtr)
            {
                free(m_value.ClockLimitIdPtr);
            }
            break;
        }
        case INJECTION_CLOCKOFFSET_PTR:
        {
            if (m_inHeap && m_value.ClockOffsetPtr)
            {
                free(m_value.ClockOffsetPtr);
            }
            break;
        }
        case INJECTION_CLOCKTYPE_PTR:
        {
            if (m_inHeap && m_value.ClockTypePtr)
            {
                free(m_value.ClockTypePtr);
            }
            break;
        }
        case INJECTION_COMPUTEINSTANCEINFO_PTR:
        {
            if (m_inHeap && m_value.ComputeInstanceInfoPtr)
            {
                free(m_value.ComputeInstanceInfoPtr);
            }
            break;
        }
        case INJECTION_COMPUTEINSTANCEPLACEMENT_PTR:
        {
            if (m_inHeap && m_value.ComputeInstancePlacementPtr)
            {
                free(m_value.ComputeInstancePlacementPtr);
            }
            break;
        }
        case INJECTION_COMPUTEINSTANCEPROFILEINFO_PTR:
        {
            if (m_inHeap && m_value.ComputeInstanceProfileInfoPtr)
            {
                free(m_value.ComputeInstanceProfileInfoPtr);
            }
            break;
        }
        case INJECTION_COMPUTEINSTANCEPROFILEINFO_V2_PTR:
        {
            if (m_inHeap && m_value.ComputeInstanceProfileInfo_v2Ptr)
            {
                free(m_value.ComputeInstanceProfileInfo_v2Ptr);
            }
            break;
        }
        case INJECTION_COMPUTEINSTANCEPROFILEINFO_V3_PTR:
        {
            if (m_inHeap && m_value.ComputeInstanceProfileInfo_v3Ptr)
            {
                free(m_value.ComputeInstanceProfileInfo_v3Ptr);
            }
            break;
        }
        case INJECTION_COMPUTEINSTANCE_PTR:
        {
            if (m_inHeap && m_value.ComputeInstancePtr)
            {
                free(m_value.ComputeInstancePtr);
            }
            break;
        }
        case INJECTION_COMPUTEMODE_PTR:
        {
            if (m_inHeap && m_value.ComputeModePtr)
            {
                free(m_value.ComputeModePtr);
            }
            break;
        }
        case INJECTION_CONFCOMPUTEGETKEYROTATIONTHRESHOLDINFO_V1_PTR:
        {
            if (m_inHeap && m_value.ConfComputeGetKeyRotationThresholdInfo_v1Ptr)
            {
                free(m_value.ConfComputeGetKeyRotationThresholdInfo_v1Ptr);
            }
            break;
        }
        case INJECTION_CONFCOMPUTEGPUATTESTATIONREPORT_PTR:
        {
            if (m_inHeap && m_value.ConfComputeGpuAttestationReportPtr)
            {
                free(m_value.ConfComputeGpuAttestationReportPtr);
            }
            break;
        }
        case INJECTION_CONFCOMPUTEGPUCERTIFICATE_PTR:
        {
            if (m_inHeap && m_value.ConfComputeGpuCertificatePtr)
            {
                free(m_value.ConfComputeGpuCertificatePtr);
            }
            break;
        }
        case INJECTION_CONFCOMPUTEMEMSIZEINFO_PTR:
        {
            if (m_inHeap && m_value.ConfComputeMemSizeInfoPtr)
            {
                free(m_value.ConfComputeMemSizeInfoPtr);
            }
            break;
        }
        case INJECTION_CONFCOMPUTESETKEYROTATIONTHRESHOLDINFO_V1_PTR:
        {
            if (m_inHeap && m_value.ConfComputeSetKeyRotationThresholdInfo_v1Ptr)
            {
                free(m_value.ConfComputeSetKeyRotationThresholdInfo_v1Ptr);
            }
            break;
        }
        case INJECTION_CONFCOMPUTESYSTEMCAPS_PTR:
        {
            if (m_inHeap && m_value.ConfComputeSystemCapsPtr)
            {
                free(m_value.ConfComputeSystemCapsPtr);
            }
            break;
        }
        case INJECTION_CONFCOMPUTESYSTEMSTATE_PTR:
        {
            if (m_inHeap && m_value.ConfComputeSystemStatePtr)
            {
                free(m_value.ConfComputeSystemStatePtr);
            }
            break;
        }
        case INJECTION_COOLERCONTROL_PTR:
        {
            if (m_inHeap && m_value.CoolerControlPtr)
            {
                free(m_value.CoolerControlPtr);
            }
            break;
        }
        case INJECTION_COOLERINFO_PTR:
        {
            if (m_inHeap && m_value.CoolerInfoPtr)
            {
                free(m_value.CoolerInfoPtr);
            }
            break;
        }
        case INJECTION_COOLERTARGET_PTR:
        {
            if (m_inHeap && m_value.CoolerTargetPtr)
            {
                free(m_value.CoolerTargetPtr);
            }
            break;
        }
        case INJECTION_DETACHGPUSTATE_PTR:
        {
            if (m_inHeap && m_value.DetachGpuStatePtr)
            {
                free(m_value.DetachGpuStatePtr);
            }
            break;
        }
        case INJECTION_DEVICEARCHITECTURE_PTR:
        {
            if (m_inHeap && m_value.DeviceArchitecturePtr)
            {
                free(m_value.DeviceArchitecturePtr);
            }
            break;
        }
        case INJECTION_DEVICEATTRIBUTES_PTR:
        {
            if (m_inHeap && m_value.DeviceAttributesPtr)
            {
                free(m_value.DeviceAttributesPtr);
            }
            break;
        }
        case INJECTION_DEVICECAPABILITIES_PTR:
        {
            if (m_inHeap && m_value.DeviceCapabilitiesPtr)
            {
                free(m_value.DeviceCapabilitiesPtr);
            }
            break;
        }
        case INJECTION_DEVICECURRENTCLOCKFREQS_PTR:
        {
            if (m_inHeap && m_value.DeviceCurrentClockFreqsPtr)
            {
                free(m_value.DeviceCurrentClockFreqsPtr);
            }
            break;
        }
        case INJECTION_DEVICEGPURECOVERYACTION_PTR:
        {
            if (m_inHeap && m_value.DeviceGpuRecoveryActionPtr)
            {
                free(m_value.DeviceGpuRecoveryActionPtr);
            }
            break;
        }
        case INJECTION_DEVICEPERFMODES_PTR:
        {
            if (m_inHeap && m_value.DevicePerfModesPtr)
            {
                free(m_value.DevicePerfModesPtr);
            }
            break;
        }
        case INJECTION_DEVICEVGPUCAPABILITY_PTR:
        {
            if (m_inHeap && m_value.DeviceVgpuCapabilityPtr)
            {
                free(m_value.DeviceVgpuCapabilityPtr);
            }
            break;
        }
        case INJECTION_DEVICE_PTR:
        {
            if (m_inHeap && m_value.DevicePtr)
            {
                free(m_value.DevicePtr);
            }
            break;
        }
        case INJECTION_DRIVERMODEL_PTR:
        {
            if (m_inHeap && m_value.DriverModelPtr)
            {
                free(m_value.DriverModelPtr);
            }
            break;
        }
        case INJECTION_ECCCOUNTERTYPE_PTR:
        {
            if (m_inHeap && m_value.EccCounterTypePtr)
            {
                free(m_value.EccCounterTypePtr);
            }
            break;
        }
        case INJECTION_ECCERRORCOUNTS_PTR:
        {
            if (m_inHeap && m_value.EccErrorCountsPtr)
            {
                free(m_value.EccErrorCountsPtr);
            }
            break;
        }
        case INJECTION_ECCSRAMERRORSTATUS_PTR:
        {
            if (m_inHeap && m_value.EccSramErrorStatusPtr)
            {
                free(m_value.EccSramErrorStatusPtr);
            }
            break;
        }
        case INJECTION_ENABLESTATE_PTR:
        {
            if (m_inHeap && m_value.EnableStatePtr)
            {
                free(m_value.EnableStatePtr);
            }
            break;
        }
        case INJECTION_ENCODERSESSIONINFO_PTR:
        {
            if (m_inHeap && m_value.EncoderSessionInfoPtr)
            {
                free(m_value.EncoderSessionInfoPtr);
            }
            break;
        }
        case INJECTION_ENCODERTYPE_PTR:
        {
            if (m_inHeap && m_value.EncoderTypePtr)
            {
                free(m_value.EncoderTypePtr);
            }
            break;
        }
        case INJECTION_EVENTDATA_PTR:
        {
            if (m_inHeap && m_value.EventDataPtr)
            {
                free(m_value.EventDataPtr);
            }
            break;
        }
        case INJECTION_EVENTSET_PTR:
        {
            if (m_inHeap && m_value.EventSetPtr)
            {
                free(m_value.EventSetPtr);
            }
            break;
        }
        case INJECTION_EXCLUDEDDEVICEINFO_PTR:
        {
            if (m_inHeap && m_value.ExcludedDeviceInfoPtr)
            {
                free(m_value.ExcludedDeviceInfoPtr);
            }
            break;
        }
        case INJECTION_FBCSESSIONINFO_PTR:
        {
            if (m_inHeap && m_value.FBCSessionInfoPtr)
            {
                free(m_value.FBCSessionInfoPtr);
            }
            break;
        }
        case INJECTION_FBCSESSIONTYPE_PTR:
        {
            if (m_inHeap && m_value.FBCSessionTypePtr)
            {
                free(m_value.FBCSessionTypePtr);
            }
            break;
        }
        case INJECTION_FBCSTATS_PTR:
        {
            if (m_inHeap && m_value.FBCStatsPtr)
            {
                free(m_value.FBCStatsPtr);
            }
            break;
        }
        case INJECTION_FANCONTROLPOLICY_PTR:
        {
            if (m_inHeap && m_value.FanControlPolicyPtr)
            {
                free(m_value.FanControlPolicyPtr);
            }
            break;
        }
        case INJECTION_FANSPEEDINFO_PTR:
        {
            if (m_inHeap && m_value.FanSpeedInfoPtr)
            {
                free(m_value.FanSpeedInfoPtr);
            }
            break;
        }
        case INJECTION_FANSTATE_PTR:
        {
            if (m_inHeap && m_value.FanStatePtr)
            {
                free(m_value.FanStatePtr);
            }
            break;
        }
        case INJECTION_FIELDVALUE_PTR:
        {
            if (m_inHeap && m_value.FieldValuePtr)
            {
                free(m_value.FieldValuePtr);
            }
            break;
        }
        case INJECTION_GPMMETRICID_PTR:
        {
            if (m_inHeap && m_value.GpmMetricIdPtr)
            {
                free(m_value.GpmMetricIdPtr);
            }
            break;
        }
        case INJECTION_GPMMETRIC_PTR:
        {
            if (m_inHeap && m_value.GpmMetricPtr)
            {
                free(m_value.GpmMetricPtr);
            }
            break;
        }
        case INJECTION_GPMMETRICSGET_PTR:
        {
            if (m_inHeap && m_value.GpmMetricsGetPtr)
            {
                free(m_value.GpmMetricsGetPtr);
            }
            break;
        }
        case INJECTION_GPMSAMPLE_PTR:
        {
            if (m_inHeap && m_value.GpmSamplePtr)
            {
                free(m_value.GpmSamplePtr);
            }
            break;
        }
        case INJECTION_GPMSUPPORT_PTR:
        {
            if (m_inHeap && m_value.GpmSupportPtr)
            {
                free(m_value.GpmSupportPtr);
            }
            break;
        }
        case INJECTION_GPUDYNAMICPSTATESINFO_PTR:
        {
            if (m_inHeap && m_value.GpuDynamicPstatesInfoPtr)
            {
                free(m_value.GpuDynamicPstatesInfoPtr);
            }
            break;
        }
        case INJECTION_GPUFABRICINFOV_PTR:
        {
            if (m_inHeap && m_value.GpuFabricInfoVPtr)
            {
                free(m_value.GpuFabricInfoVPtr);
            }
            break;
        }
        case INJECTION_GPUFABRICINFO_PTR:
        {
            if (m_inHeap && m_value.GpuFabricInfoPtr)
            {
                free(m_value.GpuFabricInfoPtr);
            }
            break;
        }
        case INJECTION_GPUFABRICSTATE_PTR:
        {
            if (m_inHeap && m_value.GpuFabricStatePtr)
            {
                free(m_value.GpuFabricStatePtr);
            }
            break;
        }
        case INJECTION_GPUINSTANCEINFO_PTR:
        {
            if (m_inHeap && m_value.GpuInstanceInfoPtr)
            {
                free(m_value.GpuInstanceInfoPtr);
            }
            break;
        }
        case INJECTION_GPUINSTANCEPLACEMENT_PTR:
        {
            if (m_inHeap && m_value.GpuInstancePlacementPtr)
            {
                free(m_value.GpuInstancePlacementPtr);
            }
            break;
        }
        case INJECTION_GPUINSTANCEPROFILEINFO_PTR:
        {
            if (m_inHeap && m_value.GpuInstanceProfileInfoPtr)
            {
                free(m_value.GpuInstanceProfileInfoPtr);
            }
            break;
        }
        case INJECTION_GPUINSTANCEPROFILEINFO_V2_PTR:
        {
            if (m_inHeap && m_value.GpuInstanceProfileInfo_v2Ptr)
            {
                free(m_value.GpuInstanceProfileInfo_v2Ptr);
            }
            break;
        }
        case INJECTION_GPUINSTANCEPROFILEINFO_V3_PTR:
        {
            if (m_inHeap && m_value.GpuInstanceProfileInfo_v3Ptr)
            {
                free(m_value.GpuInstanceProfileInfo_v3Ptr);
            }
            break;
        }
        case INJECTION_GPUINSTANCE_PTR:
        {
            if (m_inHeap && m_value.GpuInstancePtr)
            {
                free(m_value.GpuInstancePtr);
            }
            break;
        }
        case INJECTION_GPUOPERATIONMODE_PTR:
        {
            if (m_inHeap && m_value.GpuOperationModePtr)
            {
                free(m_value.GpuOperationModePtr);
            }
            break;
        }
        case INJECTION_GPUP2PCAPSINDEX_PTR:
        {
            if (m_inHeap && m_value.GpuP2PCapsIndexPtr)
            {
                free(m_value.GpuP2PCapsIndexPtr);
            }
            break;
        }
        case INJECTION_GPUP2PSTATUS_PTR:
        {
            if (m_inHeap && m_value.GpuP2PStatusPtr)
            {
                free(m_value.GpuP2PStatusPtr);
            }
            break;
        }
        case INJECTION_GPUTHERMALSETTINGS_PTR:
        {
            if (m_inHeap && m_value.GpuThermalSettingsPtr)
            {
                free(m_value.GpuThermalSettingsPtr);
            }
            break;
        }
        case INJECTION_GPUTOPOLOGYLEVEL_PTR:
        {
            if (m_inHeap && m_value.GpuTopologyLevelPtr)
            {
                free(m_value.GpuTopologyLevelPtr);
            }
            break;
        }
        case INJECTION_GPUUTILIZATIONDOMAINID_PTR:
        {
            if (m_inHeap && m_value.GpuUtilizationDomainIdPtr)
            {
                free(m_value.GpuUtilizationDomainIdPtr);
            }
            break;
        }
        case INJECTION_GPUVIRTUALIZATIONMODE_PTR:
        {
            if (m_inHeap && m_value.GpuVirtualizationModePtr)
            {
                free(m_value.GpuVirtualizationModePtr);
            }
            break;
        }
        case INJECTION_GRIDLICENSABLEFEATURE_PTR:
        {
            if (m_inHeap && m_value.GridLicensableFeaturePtr)
            {
                free(m_value.GridLicensableFeaturePtr);
            }
            break;
        }
        case INJECTION_GRIDLICENSABLEFEATURES_PTR:
        {
            if (m_inHeap && m_value.GridLicensableFeaturesPtr)
            {
                free(m_value.GridLicensableFeaturesPtr);
            }
            break;
        }
        case INJECTION_GRIDLICENSEEXPIRY_PTR:
        {
            if (m_inHeap && m_value.GridLicenseExpiryPtr)
            {
                free(m_value.GridLicenseExpiryPtr);
            }
            break;
        }
        case INJECTION_GRIDLICENSEFEATURECODE_PTR:
        {
            if (m_inHeap && m_value.GridLicenseFeatureCodePtr)
            {
                free(m_value.GridLicenseFeatureCodePtr);
            }
            break;
        }
        case INJECTION_HOSTVGPUMODE_PTR:
        {
            if (m_inHeap && m_value.HostVgpuModePtr)
            {
                free(m_value.HostVgpuModePtr);
            }
            break;
        }
        case INJECTION_HWBCENTRY_PTR:
        {
            if (m_inHeap && m_value.HwbcEntryPtr)
            {
                free(m_value.HwbcEntryPtr);
            }
            break;
        }
        case INJECTION_INFOROMOBJECT_PTR:
        {
            if (m_inHeap && m_value.InforomObjectPtr)
            {
                free(m_value.InforomObjectPtr);
            }
            break;
        }
        case INJECTION_INTNVLINKDEVICETYPE_PTR:
        {
            if (m_inHeap && m_value.IntNvLinkDeviceTypePtr)
            {
                free(m_value.IntNvLinkDeviceTypePtr);
            }
            break;
        }
        case INJECTION_LEDCOLOR_PTR:
        {
            if (m_inHeap && m_value.LedColorPtr)
            {
                free(m_value.LedColorPtr);
            }
            break;
        }
        case INJECTION_LEDSTATE_PTR:
        {
            if (m_inHeap && m_value.LedStatePtr)
            {
                free(m_value.LedStatePtr);
            }
            break;
        }
        case INJECTION_MARGINTEMPERATURE_PTR:
        {
            if (m_inHeap && m_value.MarginTemperaturePtr)
            {
                free(m_value.MarginTemperaturePtr);
            }
            break;
        }
        case INJECTION_MASK255_PTR:
        {
            if (m_inHeap && m_value.Mask255Ptr)
            {
                free(m_value.Mask255Ptr);
            }
            break;
        }
        case INJECTION_MEMORYERRORTYPE_PTR:
        {
            if (m_inHeap && m_value.MemoryErrorTypePtr)
            {
                free(m_value.MemoryErrorTypePtr);
            }
            break;
        }
        case INJECTION_MEMORYLOCATION_PTR:
        {
            if (m_inHeap && m_value.MemoryLocationPtr)
            {
                free(m_value.MemoryLocationPtr);
            }
            break;
        }
        case INJECTION_MEMORY_PTR:
        {
            if (m_inHeap && m_value.MemoryPtr)
            {
                free(m_value.MemoryPtr);
            }
            break;
        }
        case INJECTION_MEMORY_V2_PTR:
        {
            if (m_inHeap && m_value.Memory_v2Ptr)
            {
                free(m_value.Memory_v2Ptr);
            }
            break;
        }
        case INJECTION_NVLINKCAPABILITY_PTR:
        {
            if (m_inHeap && m_value.NvLinkCapabilityPtr)
            {
                free(m_value.NvLinkCapabilityPtr);
            }
            break;
        }
        case INJECTION_NVLINKERRORCOUNTER_PTR:
        {
            if (m_inHeap && m_value.NvLinkErrorCounterPtr)
            {
                free(m_value.NvLinkErrorCounterPtr);
            }
            break;
        }
        case INJECTION_NVLINKPOWERTHRES_PTR:
        {
            if (m_inHeap && m_value.NvLinkPowerThresPtr)
            {
                free(m_value.NvLinkPowerThresPtr);
            }
            break;
        }
        case INJECTION_NVLINKUTILIZATIONCONTROL_PTR:
        {
            if (m_inHeap && m_value.NvLinkUtilizationControlPtr)
            {
                free(m_value.NvLinkUtilizationControlPtr);
            }
            break;
        }
        case INJECTION_NVLINKUTILIZATIONCOUNTPKTTYPES_PTR:
        {
            if (m_inHeap && m_value.NvLinkUtilizationCountPktTypesPtr)
            {
                free(m_value.NvLinkUtilizationCountPktTypesPtr);
            }
            break;
        }
        case INJECTION_NVLINKUTILIZATIONCOUNTUNITS_PTR:
        {
            if (m_inHeap && m_value.NvLinkUtilizationCountUnitsPtr)
            {
                free(m_value.NvLinkUtilizationCountUnitsPtr);
            }
            break;
        }
        case INJECTION_NVLINKVERSION_PTR:
        {
            if (m_inHeap && m_value.NvlinkVersionPtr)
            {
                free(m_value.NvlinkVersionPtr);
            }
            break;
        }
        case INJECTION_PSUINFO_PTR:
        {
            if (m_inHeap && m_value.PSUInfoPtr)
            {
                free(m_value.PSUInfoPtr);
            }
            break;
        }
        case INJECTION_PAGERETIREMENTCAUSE_PTR:
        {
            if (m_inHeap && m_value.PageRetirementCausePtr)
            {
                free(m_value.PageRetirementCausePtr);
            }
            break;
        }
        case INJECTION_PCIINFOEXT_PTR:
        {
            if (m_inHeap && m_value.PciInfoExtPtr)
            {
                free(m_value.PciInfoExtPtr);
            }
            break;
        }
        case INJECTION_PCIINFO_PTR:
        {
            if (m_inHeap && m_value.PciInfoPtr)
            {
                free(m_value.PciInfoPtr);
            }
            break;
        }
        case INJECTION_PCIELINKSTATE_PTR:
        {
            if (m_inHeap && m_value.PcieLinkStatePtr)
            {
                free(m_value.PcieLinkStatePtr);
            }
            break;
        }
        case INJECTION_PCIEUTILCOUNTER_PTR:
        {
            if (m_inHeap && m_value.PcieUtilCounterPtr)
            {
                free(m_value.PcieUtilCounterPtr);
            }
            break;
        }
        case INJECTION_PERFPOLICYTYPE_PTR:
        {
            if (m_inHeap && m_value.PerfPolicyTypePtr)
            {
                free(m_value.PerfPolicyTypePtr);
            }
            break;
        }
        case INJECTION_PLATFORMINFO_PTR:
        {
            if (m_inHeap && m_value.PlatformInfoPtr)
            {
                free(m_value.PlatformInfoPtr);
            }
            break;
        }
        case INJECTION_PLATFORMINFO_V1_PTR:
        {
            if (m_inHeap && m_value.PlatformInfo_v1Ptr)
            {
                free(m_value.PlatformInfo_v1Ptr);
            }
            break;
        }
        case INJECTION_POWERPROFILETYPE_PTR:
        {
            if (m_inHeap && m_value.PowerProfileTypePtr)
            {
                free(m_value.PowerProfileTypePtr);
            }
            break;
        }
        case INJECTION_POWERSCOPETYPE_PTR:
        {
            if (m_inHeap && m_value.PowerScopeTypePtr)
            {
                free(m_value.PowerScopeTypePtr);
            }
            break;
        }
        case INJECTION_POWERSOURCE_PTR:
        {
            if (m_inHeap && m_value.PowerSourcePtr)
            {
                free(m_value.PowerSourcePtr);
            }
            break;
        }
        case INJECTION_POWERVALUE_V2_PTR:
        {
            if (m_inHeap && m_value.PowerValue_v2Ptr)
            {
                free(m_value.PowerValue_v2Ptr);
            }
            break;
        }
        case INJECTION_PROCESSDETAILLIST_PTR:
        {
            if (m_inHeap && m_value.ProcessDetailListPtr)
            {
                free(m_value.ProcessDetailListPtr);
            }
            break;
        }
        case INJECTION_PROCESSDETAIL_V1_PTR:
        {
            if (m_inHeap && m_value.ProcessDetail_v1Ptr)
            {
                free(m_value.ProcessDetail_v1Ptr);
            }
            break;
        }
        case INJECTION_PROCESSINFO_PTR:
        {
            if (m_inHeap && m_value.ProcessInfoPtr)
            {
                free(m_value.ProcessInfoPtr);
            }
            break;
        }
        case INJECTION_PROCESSINFO_V1_PTR:
        {
            if (m_inHeap && m_value.ProcessInfo_v1Ptr)
            {
                free(m_value.ProcessInfo_v1Ptr);
            }
            break;
        }
        case INJECTION_PROCESSUTILIZATIONINFO_V1_PTR:
        {
            if (m_inHeap && m_value.ProcessUtilizationInfo_v1Ptr)
            {
                free(m_value.ProcessUtilizationInfo_v1Ptr);
            }
            break;
        }
        case INJECTION_PROCESSUTILIZATIONSAMPLE_PTR:
        {
            if (m_inHeap && m_value.ProcessUtilizationSamplePtr)
            {
                free(m_value.ProcessUtilizationSamplePtr);
            }
            break;
        }
        case INJECTION_PROCESSESUTILIZATIONINFO_PTR:
        {
            if (m_inHeap && m_value.ProcessesUtilizationInfoPtr)
            {
                free(m_value.ProcessesUtilizationInfoPtr);
            }
            break;
        }
        case INJECTION_PSTATES_PTR:
        {
            if (m_inHeap && m_value.PstatesPtr)
            {
                free(m_value.PstatesPtr);
            }
            break;
        }
        case INJECTION_RESTRICTEDAPI_PTR:
        {
            if (m_inHeap && m_value.RestrictedAPIPtr)
            {
                free(m_value.RestrictedAPIPtr);
            }
            break;
        }
        case INJECTION_RETURN_PTR:
        {
            if (m_inHeap && m_value.ReturnPtr)
            {
                free(m_value.ReturnPtr);
            }
            break;
        }
        case INJECTION_ROWREMAPPERHISTOGRAMVALUES_PTR:
        {
            if (m_inHeap && m_value.RowRemapperHistogramValuesPtr)
            {
                free(m_value.RowRemapperHistogramValuesPtr);
            }
            break;
        }
        case INJECTION_SAMPLE_PTR:
        {
            if (m_inHeap && m_value.SamplePtr)
            {
                free(m_value.SamplePtr);
            }
            break;
        }
        case INJECTION_SAMPLINGTYPE_PTR:
        {
            if (m_inHeap && m_value.SamplingTypePtr)
            {
                free(m_value.SamplingTypePtr);
            }
            break;
        }
        case INJECTION_SYSTEMCONFCOMPUTESETTINGS_PTR:
        {
            if (m_inHeap && m_value.SystemConfComputeSettingsPtr)
            {
                free(m_value.SystemConfComputeSettingsPtr);
            }
            break;
        }
        case INJECTION_SYSTEMDRIVERBRANCHINFO_PTR:
        {
            if (m_inHeap && m_value.SystemDriverBranchInfoPtr)
            {
                free(m_value.SystemDriverBranchInfoPtr);
            }
            break;
        }
        case INJECTION_TEMPERATURESENSORS_PTR:
        {
            if (m_inHeap && m_value.TemperatureSensorsPtr)
            {
                free(m_value.TemperatureSensorsPtr);
            }
            break;
        }
        case INJECTION_TEMPERATURETHRESHOLDS_PTR:
        {
            if (m_inHeap && m_value.TemperatureThresholdsPtr)
            {
                free(m_value.TemperatureThresholdsPtr);
            }
            break;
        }
        case INJECTION_TEMPERATURE_PTR:
        {
            if (m_inHeap && m_value.TemperaturePtr)
            {
                free(m_value.TemperaturePtr);
            }
            break;
        }
        case INJECTION_THERMALCONTROLLER_PTR:
        {
            if (m_inHeap && m_value.ThermalControllerPtr)
            {
                free(m_value.ThermalControllerPtr);
            }
            break;
        }
        case INJECTION_THERMALTARGET_PTR:
        {
            if (m_inHeap && m_value.ThermalTargetPtr)
            {
                free(m_value.ThermalTargetPtr);
            }
            break;
        }
        case INJECTION_UNITFANINFO_PTR:
        {
            if (m_inHeap && m_value.UnitFanInfoPtr)
            {
                free(m_value.UnitFanInfoPtr);
            }
            break;
        }
        case INJECTION_UNITFANSPEEDS_PTR:
        {
            if (m_inHeap && m_value.UnitFanSpeedsPtr)
            {
                free(m_value.UnitFanSpeedsPtr);
            }
            break;
        }
        case INJECTION_UNITINFO_PTR:
        {
            if (m_inHeap && m_value.UnitInfoPtr)
            {
                free(m_value.UnitInfoPtr);
            }
            break;
        }
        case INJECTION_UNIT_PTR:
        {
            if (m_inHeap && m_value.UnitPtr)
            {
                free(m_value.UnitPtr);
            }
            break;
        }
        case INJECTION_UTILIZATION_PTR:
        {
            if (m_inHeap && m_value.UtilizationPtr)
            {
                free(m_value.UtilizationPtr);
            }
            break;
        }
        case INJECTION_VALUETYPE_PTR:
        {
            if (m_inHeap && m_value.ValueTypePtr)
            {
                free(m_value.ValueTypePtr);
            }
            break;
        }
        case INJECTION_VGPUCAPABILITY_PTR:
        {
            if (m_inHeap && m_value.VgpuCapabilityPtr)
            {
                free(m_value.VgpuCapabilityPtr);
            }
            break;
        }
        case INJECTION_VGPUDRIVERCAPABILITY_PTR:
        {
            if (m_inHeap && m_value.VgpuDriverCapabilityPtr)
            {
                free(m_value.VgpuDriverCapabilityPtr);
            }
            break;
        }
        case INJECTION_VGPUGUESTINFOSTATE_PTR:
        {
            if (m_inHeap && m_value.VgpuGuestInfoStatePtr)
            {
                free(m_value.VgpuGuestInfoStatePtr);
            }
            break;
        }
        case INJECTION_VGPUHETEROGENEOUSMODE_PTR:
        {
            if (m_inHeap && m_value.VgpuHeterogeneousModePtr)
            {
                free(m_value.VgpuHeterogeneousModePtr);
            }
            break;
        }
        case INJECTION_VGPUINSTANCEUTILIZATIONINFO_V1_PTR:
        {
            if (m_inHeap && m_value.VgpuInstanceUtilizationInfo_v1Ptr)
            {
                free(m_value.VgpuInstanceUtilizationInfo_v1Ptr);
            }
            break;
        }
        case INJECTION_VGPUINSTANCEUTILIZATIONSAMPLE_PTR:
        {
            if (m_inHeap && m_value.VgpuInstanceUtilizationSamplePtr)
            {
                free(m_value.VgpuInstanceUtilizationSamplePtr);
            }
            break;
        }
        case INJECTION_VGPUINSTANCE_PTR:
        {
            if (m_inHeap && m_value.VgpuInstancePtr)
            {
                free(m_value.VgpuInstancePtr);
            }
            break;
        }
        case INJECTION_VGPUINSTANCESUTILIZATIONINFO_PTR:
        {
            if (m_inHeap && m_value.VgpuInstancesUtilizationInfoPtr)
            {
                free(m_value.VgpuInstancesUtilizationInfoPtr);
            }
            break;
        }
        case INJECTION_VGPULICENSEEXPIRY_PTR:
        {
            if (m_inHeap && m_value.VgpuLicenseExpiryPtr)
            {
                free(m_value.VgpuLicenseExpiryPtr);
            }
            break;
        }
        case INJECTION_VGPULICENSEINFO_PTR:
        {
            if (m_inHeap && m_value.VgpuLicenseInfoPtr)
            {
                free(m_value.VgpuLicenseInfoPtr);
            }
            break;
        }
        case INJECTION_VGPUMETADATA_PTR:
        {
            if (m_inHeap && m_value.VgpuMetadataPtr)
            {
                free(m_value.VgpuMetadataPtr);
            }
            break;
        }
        case INJECTION_VGPUPGPUCOMPATIBILITYLIMITCODE_PTR:
        {
            if (m_inHeap && m_value.VgpuPgpuCompatibilityLimitCodePtr)
            {
                free(m_value.VgpuPgpuCompatibilityLimitCodePtr);
            }
            break;
        }
        case INJECTION_VGPUPGPUCOMPATIBILITY_PTR:
        {
            if (m_inHeap && m_value.VgpuPgpuCompatibilityPtr)
            {
                free(m_value.VgpuPgpuCompatibilityPtr);
            }
            break;
        }
        case INJECTION_VGPUPGPUMETADATA_PTR:
        {
            if (m_inHeap && m_value.VgpuPgpuMetadataPtr)
            {
                free(m_value.VgpuPgpuMetadataPtr);
            }
            break;
        }
        case INJECTION_VGPUPLACEMENTID_PTR:
        {
            if (m_inHeap && m_value.VgpuPlacementIdPtr)
            {
                free(m_value.VgpuPlacementIdPtr);
            }
            break;
        }
        case INJECTION_VGPUPLACEMENTLIST_PTR:
        {
            if (m_inHeap && m_value.VgpuPlacementListPtr)
            {
                free(m_value.VgpuPlacementListPtr);
            }
            break;
        }
        case INJECTION_VGPUPLACEMENTLIST_V1_PTR:
        {
            if (m_inHeap && m_value.VgpuPlacementList_v1Ptr)
            {
                free(m_value.VgpuPlacementList_v1Ptr);
            }
            break;
        }
        case INJECTION_VGPUPROCESSUTILIZATIONINFO_V1_PTR:
        {
            if (m_inHeap && m_value.VgpuProcessUtilizationInfo_v1Ptr)
            {
                free(m_value.VgpuProcessUtilizationInfo_v1Ptr);
            }
            break;
        }
        case INJECTION_VGPUPROCESSUTILIZATIONSAMPLE_PTR:
        {
            if (m_inHeap && m_value.VgpuProcessUtilizationSamplePtr)
            {
                free(m_value.VgpuProcessUtilizationSamplePtr);
            }
            break;
        }
        case INJECTION_VGPUPROCESSESUTILIZATIONINFO_PTR:
        {
            if (m_inHeap && m_value.VgpuProcessesUtilizationInfoPtr)
            {
                free(m_value.VgpuProcessesUtilizationInfoPtr);
            }
            break;
        }
        case INJECTION_VGPURUNTIMESTATE_PTR:
        {
            if (m_inHeap && m_value.VgpuRuntimeStatePtr)
            {
                free(m_value.VgpuRuntimeStatePtr);
            }
            break;
        }
        case INJECTION_VGPUSCHEDULERCAPABILITIES_PTR:
        {
            if (m_inHeap && m_value.VgpuSchedulerCapabilitiesPtr)
            {
                free(m_value.VgpuSchedulerCapabilitiesPtr);
            }
            break;
        }
        case INJECTION_VGPUSCHEDULERGETSTATE_PTR:
        {
            if (m_inHeap && m_value.VgpuSchedulerGetStatePtr)
            {
                free(m_value.VgpuSchedulerGetStatePtr);
            }
            break;
        }
        case INJECTION_VGPUSCHEDULERLOGENTRY_PTR:
        {
            if (m_inHeap && m_value.VgpuSchedulerLogEntryPtr)
            {
                free(m_value.VgpuSchedulerLogEntryPtr);
            }
            break;
        }
        case INJECTION_VGPUSCHEDULERLOG_PTR:
        {
            if (m_inHeap && m_value.VgpuSchedulerLogPtr)
            {
                free(m_value.VgpuSchedulerLogPtr);
            }
            break;
        }
        case INJECTION_VGPUSCHEDULERSETSTATE_PTR:
        {
            if (m_inHeap && m_value.VgpuSchedulerSetStatePtr)
            {
                free(m_value.VgpuSchedulerSetStatePtr);
            }
            break;
        }
        case INJECTION_VGPUTYPEBAR1INFO_PTR:
        {
            if (m_inHeap && m_value.VgpuTypeBar1InfoPtr)
            {
                free(m_value.VgpuTypeBar1InfoPtr);
            }
            break;
        }
        case INJECTION_VGPUTYPEID_PTR:
        {
            if (m_inHeap && m_value.VgpuTypeIdPtr)
            {
                free(m_value.VgpuTypeIdPtr);
            }
            break;
        }
        case INJECTION_VGPUVERSION_PTR:
        {
            if (m_inHeap && m_value.VgpuVersionPtr)
            {
                free(m_value.VgpuVersionPtr);
            }
            break;
        }
        case INJECTION_VGPUVMCOMPATIBILITY_PTR:
        {
            if (m_inHeap && m_value.VgpuVmCompatibilityPtr)
            {
                free(m_value.VgpuVmCompatibilityPtr);
            }
            break;
        }
        case INJECTION_VGPUVMIDTYPE_PTR:
        {
            if (m_inHeap && m_value.VgpuVmIdTypePtr)
            {
                free(m_value.VgpuVmIdTypePtr);
            }
            break;
        }
        case INJECTION_VIOLATIONTIME_PTR:
        {
            if (m_inHeap && m_value.ViolationTimePtr)
            {
                free(m_value.ViolationTimePtr);
            }
            break;
        }
        case INJECTION_WORKLOADPOWERPROFILECURRENTPROFILES_PTR:
        {
            if (m_inHeap && m_value.WorkloadPowerProfileCurrentProfilesPtr)
            {
                free(m_value.WorkloadPowerProfileCurrentProfilesPtr);
            }
            break;
        }
        case INJECTION_WORKLOADPOWERPROFILEINFO_PTR:
        {
            if (m_inHeap && m_value.WorkloadPowerProfileInfoPtr)
            {
                free(m_value.WorkloadPowerProfileInfoPtr);
            }
            break;
        }
        case INJECTION_WORKLOADPOWERPROFILEPROFILESINFO_PTR:
        {
            if (m_inHeap && m_value.WorkloadPowerProfileProfilesInfoPtr)
            {
                free(m_value.WorkloadPowerProfileProfilesInfoPtr);
            }
            break;
        }
        case INJECTION_WORKLOADPOWERPROFILEREQUESTEDPROFILES_PTR:
        {
            if (m_inHeap && m_value.WorkloadPowerProfileRequestedProfilesPtr)
            {
                free(m_value.WorkloadPowerProfileRequestedProfilesPtr);
            }
            break;
        }
        case INJECTION_SHORT_PTR:
        {
            if (m_inHeap && m_value.ShortPtr)
            {
                free(m_value.ShortPtr);
            }
            break;
        }
        case INJECTION_UCHAR_PTR:
        {
            if (m_inHeap && m_value.UCharPtr)
            {
                free(m_value.UCharPtr);
            }
            break;
        }
        case INJECTION_UINT_PTR:
        {
            if (m_inHeap && m_value.UIntPtr)
            {
                free(m_value.UIntPtr);
            }
            break;
        }
        case INJECTION_ULONG_PTR:
        {
            if (m_inHeap && m_value.ULongPtr)
            {
                free(m_value.ULongPtr);
            }
            break;
        }
        case INJECTION_ULONG_LONG_PTR:
        {
            if (m_inHeap && m_value.ULongLongPtr)
            {
                free(m_value.ULongLongPtr);
            }
            break;
        }
        case INJECTION_USHORT_PTR:
        {
            if (m_inHeap && m_value.UShortPtr)
            {
                free(m_value.UShortPtr);
            }
            break;
        }
        default:
            break;
    }
}

